diff --git a/src/syncterm/syncterm.c b/src/syncterm/syncterm.c
index f9c78908e3842fd63254c1ef8fd92a09543a0e4c..b0fe63f1519d24208eac398c97cd33194f9afd0d 100644
--- a/src/syncterm/syncterm.c
+++ b/src/syncterm/syncterm.c
@@ -174,6 +174,8 @@ char *get_syncterm_filename(char *fn, int fnlen, int type, int shared)
 				strcat(fn,"SyncTERM");
 				break;
 		}
+		if(!isdir(fn))
+			MKDIR(fn);
 		return(fn);
 	}
 	switch(SHGetFolderPath(NULL, (shared?CSIDL_COMMON_APPDATA:CSIDL_APPDATA)|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, fn)) {
@@ -222,6 +224,8 @@ char *get_syncterm_filename(char *fn, int fnlen, int type, int shared)
 		if(type==SYNCTERM_DEFAULT_TRANSFER_PATH) {
 			strcpy(fn, home);
 			backslash(fn);
+			if(!isdir(fn))
+				MKDIR(fn);
 			return(fn);
 		}
 		SAFECOPY(oldlst,home);