diff --git a/src/m_sched.c b/src/m_sched.c
index 6f3dc3b15b5999160e3d840787c3a6074555ad1a..b21e6e794424bbd3fbad37017ccc8d7c0178ebe2 100644
--- a/src/m_sched.c
+++ b/src/m_sched.c
@@ -337,7 +337,6 @@ double sys_time_per_dsp_tick;
 void sched_set_using_audio(int flag)
 {
     sched_useaudio = flag;
-        post("new sched %d", sched_useaudio);
     if (flag == SCHED_AUDIO_NONE)
     {
         sched_referencerealtime = sys_getrealtime();
diff --git a/src/s_audio.c b/src/s_audio.c
index ab8791c888744c1ceb6684bce93c034a66e03308..a211ae984faf02feeb0819ac8a129ee413ccf2a5 100644
--- a/src/s_audio.c
+++ b/src/s_audio.c
@@ -730,13 +730,17 @@ void glob_audio_dialog(t_pd *dummy, t_symbol *s, int argc, t_atom *argv)
         }
     }
     
-        if (audio_callback == newcallback)
-                sys_close_audio();
+    if (newcallback < 0)
+    	newcallback = 0;
+    post("callback %d new %d",audio_callback, newcallback) ;
+    if (audio_callback == newcallback)
+        sys_close_audio();
     sys_set_audio_settings(nindev, newaudioindev, nindev, newaudioinchan,
         noutdev, newaudiooutdev, noutdev, newaudiooutchan,
         newrate, newadvance, (newcallback >= 0 ? newcallback : 0));
-        if (audio_callback == newcallback)
-                sys_reopen_audio();
+    post("callback %d new %d",audio_callback, newcallback) ;
+    if (audio_callback == newcallback)
+        sys_reopen_audio();
 }
 
 void sys_listdevs(void )