diff --git a/sflphone-common/src/audio/mainbuffer.cpp b/sflphone-common/src/audio/mainbuffer.cpp
index f0da142792d6a6e428a5f7d3d0659af570765c1f..cac858db662341da3d263474ad11ea1917107af1 100644
--- a/sflphone-common/src/audio/mainbuffer.cpp
+++ b/sflphone-common/src/audio/mainbuffer.cpp
@@ -146,13 +146,14 @@ bool MainBuffer::removeRingBuffer (CallID call_id)
 
     if (ring_buffer != NULL) {
         if (_ringBufferMap.erase (call_id) != 0) {
+        	delete ring_buffer;
             return true;
         } else {
-            _debug ("removeRingBuffer error while deleting ringbuffer %s!", call_id.c_str());
+            _error ("BufferManager: Error: Fail to delete ringbuffer %s!", call_id.c_str());
             return false;
         }
     } else {
-        _debug ("removeRingBuffer error ringbuffer %s does not exist!", call_id.c_str());
+        _debug ("BufferManager: Error: Ringbuffer %s does not exist!", call_id.c_str());
         return true;
     }
 }