diff --git a/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike b/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike
index 7d4d5088ad441f77c13f34c499147ba448a60919..641caec32e5f5bab3d603b6173c253efc1ee5b81 100644
--- a/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike
+++ b/lib/modules/Filesystem.pmod/Monitor.pmod/basic.pike
@@ -725,7 +725,8 @@ protected class Monitor(string path,
       last_change = 0x7fffffff;
       stable_data_change(path, st);
       return 1;
-    } else if (st->isdir && status_change(old_st, st, orig_flags, flags)) {
+    } else if (last_change != 0x7fffffff &&
+	       st->isdir && status_change(old_st, st, orig_flags, flags)) {
       // Directory not stable yet.
       last_change = time(1);
       return 1;