diff --git a/include/vlc_aout.h b/include/vlc_aout.h
index a6b80691515bb7770d4f5542f2f47d371a03190e..fb0edd6de634ae08339a3bf4800a1a061768d1d6 100644
--- a/include/vlc_aout.h
+++ b/include/vlc_aout.h
@@ -159,7 +159,7 @@ struct audio_output
       */
 
     void (*stop)(audio_output_t *);
-    /**< Stops the existing stream (optional, may be NULL).
+    /**< Stops the existing stream (mandatory, cannot be NULL).
       *
       * This callback terminates the current audio stream,
       * and returns the audio output to stopped state.
diff --git a/src/audio_output/output.c b/src/audio_output/output.c
index 43e8c25a088fb270d23e6bebf47f5f35918d2500..e7ea4788b0a68a87375222d01b88bd9a1a2edfd4 100644
--- a/src/audio_output/output.c
+++ b/src/audio_output/output.c
@@ -609,8 +609,7 @@ int aout_OutputNew (audio_output_t *aout, audio_sample_format_t *restrict fmt,
 void aout_OutputDelete (audio_output_t *aout)
 {
     aout_OutputLock(aout);
-    if (aout->stop != NULL)
-        aout->stop (aout);
+    aout->stop (aout);
     aout_OutputUnlock(aout);
 }