diff --git a/libavfilter/af_amerge.c b/libavfilter/af_amerge.c
index c9b0f21fd1cef6f03fb9c5916baead895654517f..a160391a57d6071f2b43375c22b45bfaa979208f 100644
--- a/libavfilter/af_amerge.c
+++ b/libavfilter/af_amerge.c
@@ -141,11 +141,12 @@ static int request_frame(AVFilterLink *outlink)
 {
     AVFilterContext *ctx = outlink->src;
     AMergeContext *am = ctx->priv;
-    int i;
+    int i, ret;
 
     for (i = 0; i < 2; i++)
         if (!am->queue[i].nb_samples)
-            avfilter_request_frame(ctx->inputs[i]);
+            if ((ret = avfilter_request_frame(ctx->inputs[i])) < 0)
+                return ret;
     return 0;
 }