diff --git a/celt/celt_encoder.c b/celt/celt_encoder.c
index de990a05be8e1902b186830e8c71f7d6b8eb4e1c..330e78678658600cdd0a8c782afaa78833068c70 100644
--- a/celt/celt_encoder.c
+++ b/celt/celt_encoder.c
@@ -197,10 +197,12 @@ static int opus_custom_encoder_init_arch(CELTEncoder *st, const CELTMode *mode,
    return OPUS_OK;
 }
 
-OPUS_CUSTOM_NOSTATIC int opus_custom_encoder_init(CELTEncoder *st, const CELTMode *mode, int channels)
+#ifdef CUSTOM_MODES
+int opus_custom_encoder_init(CELTEncoder *st, const CELTMode *mode, int channels)
 {
    return opus_custom_encoder_init_arch(st, mode, channels, opus_select_arch());
 }
+#endif
 
 int celt_encoder_init(CELTEncoder *st, opus_int32 sampling_rate, int channels,
                       int arch)