diff --git a/exec/imapservice.js b/exec/imapservice.js
index 3d3c50f15af44d4e7c0191517825545355ed0228..d5c09e8515637fface79e48025d0af4296aa70dc 100644
--- a/exec/imapservice.js
+++ b/exec/imapservice.js
@@ -1409,11 +1409,16 @@ function open_cfg(usr)
 
 function lock_cfg()
 {
+	start = time();
 	while(!cfgfile.lock(0, 1)) {
 		if (!client.socket.is_connected)
 			exit(0);
 		if (js.termianted)
 			exit(0);
+		if ((time() - start) > 45) {
+			log(LOG_ERR, "Timed out waiting 45 seconds for IMAP log.");
+			exit(0);
+		}
 		mswait(10);
 	}
 }