diff --git a/src/conio/ciolib.c b/src/conio/ciolib.c
index 39a29663c89244aedb0c41c349296c8e9145ae99..f3a572941f2c93d290e61917dc0406ad753c5b5c 100644
--- a/src/conio/ciolib.c
+++ b/src/conio/ciolib.c
@@ -266,6 +266,7 @@ int try_conio_init(int mode)
 
 CIOLIBEXPORT void CIOLIBCALL suspendciolib(void)
 {
+	ciolib_clrscr();
 	if(cio_api.suspend != NULL)
 		cio_api.suspend();
 	initialized=-1;
@@ -279,6 +280,7 @@ CIOLIBEXPORT int CIOLIBCALL initciolib(int mode)
 		case -1:
 			if(cio_api.resume != NULL)
 				cio_api.resume();
+			ciolib_clrscr();
 			initialized=1;
 			return(0);
 	}
diff --git a/src/conio/win32cio.c b/src/conio/win32cio.c
index 1766d80627fbf0d49722defcd4a11133102ae4d0..a8faa4b3d96e6823785226d5d9976a2ba395974c 100644
--- a/src/conio/win32cio.c
+++ b/src/conio/win32cio.c
@@ -387,7 +387,6 @@ static void *	win32_suspendbuf=NULL;
 
 void win32_suspend(void)
 {
-	clrscr();
 	SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), orig_in_conmode);
 	SetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), orig_out_conmode);
 }