diff --git a/src/syncterm/menu.c b/src/syncterm/menu.c
index ecb549e64df12b4cf188a5977cacbafc9094bc55..89dfa2b115faacc766ab9a2b8d79603077f1114b 100644
--- a/src/syncterm/menu.c
+++ b/src/syncterm/menu.c
@@ -31,6 +31,8 @@ void viewscroll(void)
     gettextinfo(&txtinfo);
 	/* too large for alloca() */
 	scrollback=(char *)malloc((scrollback_buf==NULL?0:(term.width*2*settings.backlines))+(txtinfo.screenheight*txtinfo.screenwidth*2));
+	if(scrollback==NULL)
+		return;
 	if(cterm->scrollback != NULL)
 		memcpy(scrollback,cterm->scrollback,term.width*2*settings.backlines);
 	gettext(1,1,txtinfo.screenwidth,txtinfo.screenheight,scrollback+(cterm->backpos)*cterm->width*2);