--- a/src/SciTEBase.cxx
+++ b/src/SciTEBase.cxx
@@ -4200,7 +4200,7 @@
 }
 
 void SciTEBase::OnTimer() {
-	if (delayBeforeAutoSave) {
+	if (delayBeforeAutoSave && (0 == dialogsOnScreen)) {
 		// First save the visible buffer to avoid any switching if not needed
 		if (CurrentBuffer()->NeedsSave(delayBeforeAutoSave)) {
 			Save(sfNone);