diff --git a/src/sbbs3/unbaja.c b/src/sbbs3/unbaja.c
index 6aa8d6f99aefea7e7bc73ef60fa5617ccd9af4fa..6c81fb55b0d2467f83b7f7da5fa905dc90c1b8a9 100644
--- a/src/sbbs3/unbaja.c
+++ b/src/sbbs3/unbaja.c
@@ -1243,7 +1243,8 @@ void decompile(FILE *bin, FILE *src)
 		ush=ftell(bin);
 		fprintf(src,":label_%04x\n",ush);
 
-		fread(&uch,1,1,bin);
+		if(fread(&uch,1,1,bin)!=1)
+			break;
 		switch(uch) {
 			case CS_USE_INT_VAR:
 				usevar=TRUE;