diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 684269c00dacff9aa5692d744461d16a700797e2..7caddd602d1fc18fe2a9ddcb0da137b11290f798 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -711,12 +711,12 @@ SKIPHEADERS-$(CONFIG_VAAPI)            += vaapi_internal.h
 SKIPHEADERS-$(CONFIG_VDA)              += vda.h vda_internal.h
 SKIPHEADERS-$(CONFIG_VDPAU)            += vdpau.h vdpau_internal.h
 
-TESTPROGS = dct                                                         \
-            fft                                                         \
+TESTPROGS = fft                                                         \
             fft-fixed                                                   \
             golomb                                                      \
             rangecoder                                                  \
 
+TESTPROGS-$(CONFIG_IDCTDSP)               += dct
 TESTPROGS-$(CONFIG_IIRFILTER)             += iirfilter
 
 TESTOBJS = dctref.o
diff --git a/libavcodec/dct-test.c b/libavcodec/dct-test.c
index 979fc0b1849f342ecce338180fda634147a3c5f9..a531c8856931470c1c9ff64740b269c771c5c8c0 100644
--- a/libavcodec/dct-test.c
+++ b/libavcodec/dct-test.c
@@ -443,7 +443,9 @@ int main(int argc, char **argv)
             for (i = 0; idct_tab_arch[i].name; i++)
                 if (!(~cpu_flags & idct_tab_arch[i].cpu_flag))
                     err |= dct_error(&idct_tab_arch[i], test, test_idct, speed);
-        } else {
+        }
+#if CONFIG_FDCTDSP
+        else {
             for (i = 0; i < FF_ARRAY_ELEMS(fdct_tab); i++)
                 err |= dct_error(&fdct_tab[i], test, test_idct, speed);
 
@@ -451,6 +453,7 @@ int main(int argc, char **argv)
                 if (!(~cpu_flags & fdct_tab_arch[i].cpu_flag))
                     err |= dct_error(&fdct_tab_arch[i], test, test_idct, speed);
         }
+#endif /* CONFIG_FDCTDSP */
     }
 
     if (err)
diff --git a/tests/fate/libavcodec.mak b/tests/fate/libavcodec.mak
index 7fecc529f6d6a4221507808a112431a7d222b47e..138a1b2dcf52602f5df9fcaa225d4eb804147992 100644
--- a/tests/fate/libavcodec.mak
+++ b/tests/fate/libavcodec.mak
@@ -3,7 +3,7 @@ fate-golomb: libavcodec/golomb-test$(EXESUF)
 fate-golomb: CMD = run libavcodec/golomb-test
 fate-golomb: REF = /dev/null
 
-FATE_LIBAVCODEC-yes += fate-idct8x8
+FATE_LIBAVCODEC-$(CONFIG_IDCTDSP) += fate-idct8x8
 fate-idct8x8: libavcodec/dct-test$(EXESUF)
 fate-idct8x8: CMD = run libavcodec/dct-test -i
 fate-idct8x8: CMP = null