diff --git a/src/sbbs3/logout.cpp b/src/sbbs3/logout.cpp
index a8dc0d08ba436a55333d4c2d89fc97875832a33f..5c58d2ac683e01249751ed729da3d7bf14b5b4b4 100644
--- a/src/sbbs3/logout.cpp
+++ b/src/sbbs3/logout.cpp
@@ -108,7 +108,9 @@ void sbbs_t::logout()
 		remove(path);
 
 	delfiles(cfg.temp_dir,ALLFILES);
-	putmsgptrs();
+	if(sys_status&SS_USERON) {	// Insures the useron actually when through logon()/getmsgptrs() first
+		putmsgptrs();
+	}
 	if(!REALSYSOP)
 		logofflist();
 	useron.laston=(time32_t)now;