diff -ru mpg123/term.c mpg123+closeonstop/term.c
--- mpg123/term.c	Tue Oct 30 01:49:37 2001
+++ mpg123+closeonstop/term.c	Tue Oct 30 01:45:24 2001
@@ -159,8 +159,15 @@
 		  paused=0;
 		  offset -= pause_cycle;
 	  }
-	  if(param.usebuffer) 
-		  (stopped) ? buffer_stop() : buffer_start();
+	  if (stopped) {
+		  if(param.usebuffer)
+			  buffer_stop();
+		  audio_close(&ai);
+	  } else {
+		  audio_open(&ai);
+		  if(param.usebuffer)
+			  buffer_start();
+	  }
 	  fprintf(stderr, "%s", (stopped) ? STOPPED_STRING : EMPTY_STRING);
 	  break;
 	case FINE_REWIND_KEY:
