diff --git a/src/conio/ansi_cio.c b/src/conio/ansi_cio.c
index f6b501d9bb0f4bd6001bee41544bb0b95972f9e8..14bcf21f0b3c062ecce0e73caac8bea383663190 100644
--- a/src/conio/ansi_cio.c
+++ b/src/conio/ansi_cio.c
@@ -31,8 +31,6 @@ int		ansi_row=0;
 int		ansi_col=0;
 int		force_move=1;
 
-int		outfd;
-
 /* Control sequence table definitions. */
 typedef struct
 {
@@ -139,7 +137,7 @@ void ansi_sendch(char ch)
 				ansi_row=ansi_rows-1;
 			}
 		}
-		write(outfd,&ch,1);
+		fwrite(&ch,1,1,stdout);
 		if(ch<' ')
 			force_move=1;
 	}
@@ -150,7 +148,7 @@ void ansi_sendstr(char *str,int len)
 	if(len==-1)
 		len=strlen(str);
 	if(len) {
-		write(outfd,str,len);
+		fwrite(str,len,1,stdout);
 	}
 }
 
@@ -641,8 +639,6 @@ int ansi_initciolib(long inmode)
 		atexit(ansi_fixterm);
 	}
 #endif
-	outfd=dup(fileno(stdout));
-	fclose(stdout);
 	vmem=(WORD *)malloc(ansi_rows*ansi_cols*sizeof(WORD));
 	ansi_sendstr(init,-1);
 	for(i=0;i<ansi_rows*ansi_cols;i++)