diff --git a/src/syncterm/term.c b/src/syncterm/term.c
index 3cefe5ab545d06280caa2f3248af3df18cc0b8cb..b9419df48a19641e429d7daed450030ae19a4186 100644
--- a/src/syncterm/term.c
+++ b/src/syncterm/term.c
@@ -1250,7 +1250,7 @@ void xmodem_download(struct bbslist *bbs, long mode, char *path)
 				}
 				if(i==NOT_YMODEM && errors) {
 					lprintf(LOG_WARNING,"Falling back to XModem");
-					mode &= ~YMODEM;
+					mode &= ~(YMODEM|GMODE);
 					mode |= XMODEM|CRC;
 					erase_transfer_window();
 					if(uifc.input(WIN_MID|WIN_SAV,0,0,"XMODEM Filename",fname,sizeof(fname),0)==-1) {