diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c
index 89be32840dc61f5aef7906bb18fee0afcb13cd18..3ef19c5d136bacc0a6092a55a55a9509e983e857 100644
--- a/libavcodec/x86/dsputil_mmx.c
+++ b/libavcodec/x86/dsputil_mmx.c
@@ -2961,7 +2961,7 @@ static void dsputil_init_sse2(DSPContext *c, AVCodecContext *avctx,
     const int bit_depth      = avctx->bits_per_raw_sample;
     const int high_bit_depth = bit_depth > 8;
 
-    if (mm_flags & AV_CPU_FLAG_3DNOW) {
+    if (!(mm_flags & AV_CPU_FLAG_SSE2SLOW)) {
         // these functions are slower than mmx on AMD, but faster on Intel
         if (!high_bit_depth) {
             c->put_pixels_tab[0][0]        = put_pixels16_sse2;