diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c
index 9178939f771609ee6663732b4721e00007261d9b..a859ecbde988002057b780e4bb1c3b5c670efec4 100644
--- a/libavfilter/avfiltergraph.c
+++ b/libavfilter/avfiltergraph.c
@@ -559,7 +559,9 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx)
                 if ((ret = avfilter_insert_filter(link, convert, 0, 0)) < 0)
                     return ret;
 
-                filter_query_formats(convert);
+                if ((ret = filter_query_formats(convert)) < 0)
+                    return ret;
+
                 inlink  = convert->inputs[0];
                 outlink = convert->outputs[0];
                 av_assert0( inlink-> in_formats->refcount > 0);