diff --git a/src/audio/alsalayer.cpp b/src/audio/alsalayer.cpp
index f805d1be67510c7126127af99de1eb2c78d70337..972ddc524a68822101472e8d398669eff0d5ffe1 100644
--- a/src/audio/alsalayer.cpp
+++ b/src/audio/alsalayer.cpp
@@ -195,8 +195,10 @@ void AlsaLayer::startCaptureStream (void)
 void AlsaLayer::prepareCaptureStream (void)
 {
     if (is_capture_open() ) {
-        if(snd_pcm_prepare (_CaptureHandle) < 0)    _debug("Error preparing the device\n");
-        prepare_capture ();
+        if(snd_pcm_prepare (_CaptureHandle) < 0)    
+            _debug("");
+        else
+            prepare_capture ();
     }
 }
 
diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index e5292532c720e874939a541b2bc6c4ee436bc915..d1d579930e04618150417d26582aad664b01cd17 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -510,6 +510,7 @@ ManagerImpl::playDtmf(char code, bool isTalking)
         // Put buffer to urgentRingBuffer 
         // put the size in bytes...
         // so size * 1 channel (mono) * sizeof (bytes for the data)
+        audiolayer->startStream();
         audiolayer->putUrgent (buf, size * sizeof(SFLDataFormat));
     }
     ret = true;