diff --git a/mplayer.c b/mplayer.c
index 15e911e9ee..ddac3afa6c 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1270,8 +1270,14 @@ if(!use_stdin && !slave_mode){
 
   stream=NULL;
   demuxer=NULL;
-  d_audio=NULL;
-  d_video=NULL;
+  if (d_audio) {
+    free_demuxer_stream(d_audio);
+    d_audio=NULL;
+  }
+  if (d_video) {
+    free_demuxer_stream(d_video);
+    d_video=NULL;
+  }
   sh_audio=NULL;
   sh_video=NULL;