diff --git a/lib/src/upper/rlc_am.cc b/lib/src/upper/rlc_am.cc
index 407d912eac4d0ccfe7e2ee5a27ababf631397ffe..895fd74b814fa75085575bef81c798b991361494 100644
--- a/lib/src/upper/rlc_am.cc
+++ b/lib/src/upper/rlc_am.cc
@@ -127,10 +127,12 @@ void rlc_am::reset()
   pthread_mutex_lock(&mutex);
   reordering_timeout.reset();
   if(tx_sdu) {
-    tx_sdu->reset();
+    pool->deallocate(tx_sdu);
+    tx_sdu = NULL;
   }
   if(rx_sdu) {
-    rx_sdu->reset();
+    pool->deallocate(rx_sdu);
+    rx_sdu = NULL;
   }
 
   vt_a    = 0;