diff --git a/modules/demux/mp4/essetup.c b/modules/demux/mp4/essetup.c
index d89489ae064c42a1723038de4ed925d4f30bc9f1..04b276964b5eca2d8f0e72c5d77fc21d2cc68ae7 100644
--- a/modules/demux/mp4/essetup.c
+++ b/modules/demux/mp4/essetup.c
@@ -967,8 +967,9 @@ int SetupAudioES( demux_t *p_demux, const mp4_track_t *p_track,
             }
             break;
         }
-        case VLC_CODEC_TRUEHD:
+        case VLC_FOURCC( 'm', 'l', 'p', 'a' ):
             /* spec violation: 32 bits rate instead of fixed point */
+            p_fmt->i_codec = VLC_CODEC_TRUEHD;
             p_fmt->audio.i_rate = (p_soun->i_sampleratehi << 16) | p_soun->i_sampleratelo;
             break;