diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 46b48f7aaed7d4e1efd7a67ce26149683021a765..758f46a81cbf40872c4dd8e72c14dce2b2361d6b 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -56,6 +56,7 @@
 
 #define TIMEOUT_THREAD_WAIT		60			// Seconds (was 15)
 #define IO_THREAD_BUF_SIZE	   	20000		// Bytes
+#define TIMEOUT_MUTEX_FILE		12*60*60
 
 // Globals
 #ifdef _WIN32
@@ -2477,7 +2478,7 @@ void event_thread(void* arg)
 				getuserdat(&sbbs->cfg,&sbbs->useron);
 				if(sbbs->useron.number && flength(g.gl_pathv[i])>0) {
 					SAFEPRINTF(semfile,"%s.lock",g.gl_pathv[i]);
-					if(!fmutex(semfile,startup->host_name,24*60*60)) {
+					if(!fmutex(semfile,startup->host_name,TIMEOUT_MUTEX_FILE)) {
 						eprintf(LOG_INFO,"%s exists (unpack in progress?)", semfile);
 						continue;
 					}
@@ -2504,7 +2505,7 @@ void event_thread(void* arg)
 				eprintf(LOG_INFO,"QWK pack semaphore signaled: %s", g.gl_pathv[i]);
 				sbbs->useron.number=atoi(g.gl_pathv[i]+offset);
 				SAFEPRINTF2(semfile,"%spack%04u.lock",sbbs->cfg.data_dir,sbbs->useron.number);
-				if(!fmutex(semfile,startup->host_name,24*60*60)) {
+				if(!fmutex(semfile,startup->host_name,TIMEOUT_MUTEX_FILE)) {
 					eprintf(LOG_INFO,"%s exists (pack in progress?)", semfile);
 					continue;
 				}