diff --git a/src/m_pd.h b/src/m_pd.h
index c7b0a6e8e6121dfde8512121a3934a1ebb90986f..e7a0e4d6344eba952cb2285d784ce1873cead9f1 100644
--- a/src/m_pd.h
+++ b/src/m_pd.h
@@ -11,7 +11,7 @@ extern "C" {
 #define PD_MAJOR_VERSION 0
 #define PD_MINOR_VERSION 42
 #define PD_BUGFIX_VERSION 5
-#define PD_TEST_VERSION "extended-l2ork-20110423"
+#define PD_TEST_VERSION "extended-l2ork-20110427"
 
 /* old name for "MSW" flag -- we have to take it for the sake of many old
 "nmakefiles" for externs, which will define NT and not MSW */
diff --git a/src/m_sched.c b/src/m_sched.c
index 9a9a6b916371f81e7913763d7459f80ff0bd6675..49c6b5261d5ffcb4a82516da163ed3eab312ab09 100644
--- a/src/m_sched.c
+++ b/src/m_sched.c
@@ -284,13 +284,13 @@ static void sched_pollformeters( void)
     }
 #endif
 
-    if (sched_diddsp - sched_nextmeterpolltime < 0)
-        return;
     if (sched_diored && (sched_diddsp - sched_dioredtime > 0))
     {
         sys_vgui("pdtk_pd_dio 0\n");
         sched_diored = 0;
     }
+    if (sched_diddsp - sched_nextmeterpolltime < 0)
+        return;
     if (sched_meterson)
     {
         t_sample inmax, outmax;