diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c
index 2c07a924a03af91c1d60da4614bcff83a58a38f1..70610cbdfe575277d355ed0872dce706f9a47c99 100644
--- a/libavfilter/avfiltergraph.c
+++ b/libavfilter/avfiltergraph.c
@@ -22,11 +22,6 @@
 #include "avfilter.h"
 #include "avfiltergraph.h"
 
-extern AVFilter avfilter_vf_scale;
-extern AVFilter avfilter_vf_graph;
-extern AVFilter avfilter_vf_graphfile;
-extern AVFilter avfilter_vf_graphdesc;
-
 typedef struct AVFilterGraph {
     unsigned filter_count;
     AVFilterContext **filters;
@@ -425,7 +420,8 @@ static int query_formats(AVFilterContext *graphctx)
                     /* couldn't merge format lists. auto-insert scale filter */
                     AVFilterContext *scale;
 
-                    if(!(scale = avfilter_open(&avfilter_vf_scale, NULL)))
+                    if(!(scale =
+                         avfilter_open(avfilter_get_by_name("scale"), NULL)))
                         return -1;
                     if(scale->filter->init(scale, NULL, NULL) ||
                        avfilter_insert_filter(link, scale, 0, 0)) {
diff --git a/libavfilter/avfiltergraph.h b/libavfilter/avfiltergraph.h
index 8dc122d2ecfe64742a1491dc71a4c4d3c1a357c1..baa228bfc2760603683cb30ffbd12b52f550bb06 100644
--- a/libavfilter/avfiltergraph.h
+++ b/libavfilter/avfiltergraph.h
@@ -86,6 +86,10 @@ typedef struct
     AVFilterGraphDescExport **outputp;  ///< last parsed exported output
 } AVFilterGraphDescParser;
 
+extern AVFilter avfilter_vf_graph;
+extern AVFilter avfilter_vf_graphfile;
+extern AVFilter avfilter_vf_graphdesc;
+
 /**
  * Parse a graph composed of a simple chain of filters which is described by
  * a single string.