diff --git a/libavcodec/sipr.c b/libavcodec/sipr.c
index 17e7e855ed3ba8f1d05853671691b3905e1b2ac5..f4f12d8c4d43549c7518b43c006a67e6d8b4852b 100644
--- a/libavcodec/sipr.c
+++ b/libavcodec/sipr.c
@@ -461,7 +461,7 @@ static void decode_frame(SiprContext *ctx, SiprParameters *params,
         memcpy(ctx->postfilter_syn5k0, ctx->postfilter_syn5k0 + frame_size,
                LP_FILTER_ORDER*sizeof(float));
     }
-    memcpy(ctx->excitation, excitation - PITCH_DELAY_MAX - L_INTERPOL,
+    memmove(ctx->excitation, excitation - PITCH_DELAY_MAX - L_INTERPOL,
            (PITCH_DELAY_MAX + L_INTERPOL) * sizeof(float));
 
     ff_acelp_apply_order_2_transfer_function(out_data, synth,