diff --git a/modules/demux/smf.c b/modules/demux/smf.c
index f9f8f0db0561532b7c2456f812955d98bebe608f..4c4ea44e31d2af155591f56346bc9be3dce7336b 100644
--- a/modules/demux/smf.c
+++ b/modules/demux/smf.c
@@ -233,10 +233,8 @@ int HandleMeta (demux_t *p_demux, mtrk_t *tr)
             break;
 
         case 0x59: /* Key signature */
-            if (length == 2)
-                ;
-            else
-                ret = -1;
+            if (length != 2)
+                msg_Warn(p_demux, "invalid key signature");
             break;
 
         case 0x7f: /* Proprietary event */