diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index 74af5c3780ce7317b40afe70e99b7125209f0170..3230f0d417861debd2484d4160307d02372cdead 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -74,7 +74,9 @@ void avcodec_register_all(void)
 #endif
     register_avcodec(&mjpeg_encoder);
     register_avcodec(&ljpeg_encoder);
+#ifdef CONFIG_ZLIB
     register_avcodec(&png_encoder);
+#endif
     register_avcodec(&huffyuv_encoder);
     register_avcodec(&asv1_encoder);
     register_avcodec(&asv2_encoder);
@@ -127,7 +129,9 @@ void avcodec_register_all(void)
     register_avcodec(&mjpeg_decoder);
     register_avcodec(&mjpegb_decoder);
     register_avcodec(&sp5x_decoder);
+#ifdef CONFIG_ZLIB
     register_avcodec(&png_decoder);
+#endif
     register_avcodec(&mp2_decoder);
     register_avcodec(&mp3_decoder);
     register_avcodec(&mace3_decoder);