diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index a5fd319ab3a903d66dec57b4659dbe61afc081fa..eb452a40c11c7c8276f0daee6d75e3b143364185 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -250,6 +250,11 @@ void play_music(void)
 	struct	note_params *np;
 	int		fore_count;
 
+	if(cterm.quiet)
+		cterm.music=0;
+		cterm.musicbuf[0]=0;
+		return;
+	}
 	p=cterm.musicbuf;
 	fore_count=0;
 	if(cterm.music==1) {
@@ -1581,11 +1586,13 @@ char *cterm_write(unsigned char *buf, int buflen, char *retbuf, size_t retsize,
 									cterm.escbuf[wherex()]=1;
 									break;
 								case 253:	/* Beep */
-									#ifdef __unix__
-										putch(7);
-									#else
-										MessageBeep(MB_OK);
-									#endif
+									if(!cterm.quiet) {
+										#ifdef __unix__
+											putch(7);
+										#else
+											MessageBeep(MB_OK);
+										#endif
+									}
 									break;
 								case 254:	/* Delete Char */
 									j=wherex();
@@ -1863,11 +1870,13 @@ char *cterm_write(unsigned char *buf, int buflen, char *retbuf, size_t retsize,
 
 							/* Extras */
 							case 7:			/* Beep */
-								#ifdef __unix__
-									putch(7);
-								#else
-									MessageBeep(MB_OK);
-								#endif
+								if(!cterm.quiet) {
+									#ifdef __unix__
+										putch(7);
+									#else
+										MessageBeep(MB_OK);
+									#endif
+								}
 								break;
 
 							/* Translate to screen codes */
@@ -1948,11 +1957,13 @@ char *cterm_write(unsigned char *buf, int buflen, char *retbuf, size_t retsize,
 									prn[0]=0;
 									if(cterm.log==CTERM_LOG_ASCII && cterm.logfile != NULL)
 										fputs("\x07", cterm.logfile);
-									#ifdef __unix__
-										putch(7);
-									#else
-										MessageBeep(MB_OK);
-									#endif
+									if(!cterm.quiet) {
+										#ifdef __unix__
+											putch(7);
+										#else
+											MessageBeep(MB_OK);
+										#endif
+									}
 									break;
 								case 12:		/* ^L - Clear screen */
 									ctputs(prn);
diff --git a/src/conio/cterm.h b/src/conio/cterm.h
index e02ca2a3c882331abc0681e1fe3bd49a1dc3ca44..b779345f9be80f66f8259fb8da7b681e88a7003d 100644
--- a/src/conio/cterm.h
+++ b/src/conio/cterm.h
@@ -67,6 +67,7 @@ struct cterminal {
 	int music_enable;
 	char	musicbuf[1024];
 	int music;
+	int quiet;
 	int	tempo;
 	int	octave;
 	int notelen;