diff --git a/src/linux/cpu.c b/src/linux/cpu.c
index 659ca0bcbf0b94e30ea49f0879ac77debe63cc75..3a1771fc9052acba2fdfeed389c53b376d2edb04 100644
--- a/src/linux/cpu.c
+++ b/src/linux/cpu.c
@@ -29,13 +29,13 @@
 
 #undef CPU_FLAGS
 #if defined (__arm__) || defined (__aarch64__)
-# define CPU_FLAGS "Features\t:"
+# define CPU_FLAGS "Features"
 
 #elif defined (__i386__) || defined (__x86_64__)
-# define CPU_FLAGS "flags\t\t:"
+# define CPU_FLAGS "flags"
 
 #elif defined (__powerpc__) || defined (__powerpc64__)
-# define CPU_FLAGS "cpu\t\t:"
+# define CPU_FLAGS "cpu"
 
 #endif
 
@@ -52,7 +52,7 @@ unsigned vlc_CPU_raw(void)
 
     while (getline (&line, &linelen, info) != -1)
     {
-        char *p = line, *cap;
+        char *p, *cap;
         uint_fast32_t core_caps = 0;
 
 #if defined (__arm__)
@@ -63,6 +63,11 @@ unsigned vlc_CPU_raw(void)
         if (strncmp (line, CPU_FLAGS, strlen (CPU_FLAGS)))
             continue;
 
+        p = line + strlen(CPU_FLAGS);
+        p += strspn(p, "\t");
+        if (*p != ':')
+            continue;
+
         while ((cap = strsep (&p, " ")) != NULL)
         {
 #if defined (__arm__) || defined (__aarch64__)