diff --git a/libavcodec/x86/dct_init.c b/libavcodec/x86/dct_init.c
index fd6ef4553fcd4e4be75f14f3d9a289bf62813ccb..30c8f12bf2080a94b541432fb6b8bf5ba9bc287b 100644
--- a/libavcodec/x86/dct_init.c
+++ b/libavcodec/x86/dct_init.c
@@ -30,7 +30,7 @@ av_cold void ff_dct_init_x86(DCTContext *s)
 {
     int cpu_flags = av_get_cpu_flags();
 
-    if (EXTERNAL_SSE(cpu_flags) && ARCH_X86_32)
+    if (ARCH_X86_32 && EXTERNAL_SSE(cpu_flags))
         s->dct32 = ff_dct32_float_sse;
     if (EXTERNAL_SSE2(cpu_flags))
         s->dct32 = ff_dct32_float_sse2;