diff --git a/exec/imapservice.js b/exec/imapservice.js
index 2aa3ec7cdd933d88589ec2e5bf5fbf6188baf606..ecc384a7865e88cbd1ec6ed79d172171e798f8cc 100644
--- a/exec/imapservice.js
+++ b/exec/imapservice.js
@@ -1441,21 +1441,23 @@ function save_cfg(lck)
 			lock_cfg();
 		cfgfile.rewind();
 		for(sub in saved_config) {
-			scpy = JSON.parse(JSON.stringify(saved_config[sub].Seen));
-			s=saved_config[sub].Seen;
-			delete saved_config[sub].Seen;
-			cfgfile.iniSetObject(sub,saved_config[sub]);
-			if(s != undefined) {
-				// First, try any "binary" Seen compression
-				b = binify(s);
-				cfgfile.iniRemoveSection(sub+'.bseen');
-				if (b != undefined)
-					cfgfile.iniSetObject(sub+'.bseen',b);
-				cfgfile.iniRemoveSection(sub+'.seen');
-				if (Object.keys(s).length > 0)
-					cfgfile.iniSetObject(sub+'.seen',s);
+			if (saved_config[sub].Seen !== undefined) {
+				scpy = JSON.parse(JSON.stringify(saved_config[sub].Seen));
+				s=saved_config[sub].Seen;
+				delete saved_config[sub].Seen;
+				cfgfile.iniSetObject(sub,saved_config[sub]);
+				if(s != undefined) {
+					// First, try any "binary" Seen compression
+					b = binify(s);
+					cfgfile.iniRemoveSection(sub+'.bseen');
+					if (b != undefined)
+						cfgfile.iniSetObject(sub+'.bseen',b);
+					cfgfile.iniRemoveSection(sub+'.seen');
+					if (Object.keys(s).length > 0)
+						cfgfile.iniSetObject(sub+'.seen',s);
+				}
+				saved_config[sub].Seen=scpy;
 			}
-			saved_config[sub].Seen=scpy;
 		}
 		cfgfile.flush();
 		if (lck)