diff --git a/pd/src/s_audio.c b/pd/src/s_audio.c
index 6489de5043de5602669319dd7a6d8fc3db12bc67..0a479c664005309145911ca2633646aa984e9392 100644
--- a/pd/src/s_audio.c
+++ b/pd/src/s_audio.c
@@ -521,7 +521,7 @@ t_float sys_getsr(void)
     // proper sample rate entered. Hence we check for this here and avoid
     // the -nogui nonsense where we have to do various workarounds to make
     // sure that audio objects that depend on this call get the proper sr
-    if (sys_dacsr == 0)
+    if (sys_dacsr == 0 && audio_rate > 0)
     {
         sys_dacsr = (t_float)audio_rate;
     }