diff --git a/src/opus_projection_encoder.c b/src/opus_projection_encoder.c
index 1c2d0024effc03e692bd43c61e3b0606693cf35e..ab439c3890dc8aa3b4e9f153fe7b982546440a23 100644
--- a/src/opus_projection_encoder.c
+++ b/src/opus_projection_encoder.c
@@ -379,6 +379,7 @@ void opus_projection_encoder_destroy(OpusProjectionEncoder *st)
 
 int opus_projection_encoder_ctl(OpusProjectionEncoder *st, int request, ...)
 {
+  va_list ap;
   MappingMatrix *demixing_matrix;
   OpusMSEncoder *ms_encoder;
   int ret = OPUS_OK;
@@ -386,7 +387,6 @@ int opus_projection_encoder_ctl(OpusProjectionEncoder *st, int request, ...)
   ms_encoder = get_multistream_encoder(st);
   demixing_matrix = get_demixing_matrix(st);
 
-  va_list ap;
   va_start(ap, request);
   switch(request)
   {