diff --git a/meson.build b/meson.build
index 335568e67e..8ea22656f8 100644
--- a/meson.build
+++ b/meson.build
@@ -309,7 +309,8 @@ gst_controller_dep = dependency('gstreamer-controller-1.0', version : gst_req,
 have_orcc = false
 orcc_args = []
 # Used by various libraries/elements that use Orc code
-orc_dep = dependency('orc-0.4', version : orc_req, required : get_option('orc'))
+orc_dep = dependency('orc-0.4', version : orc_req, required : get_option('orc'),
+    fallback : ['orc', 'orc_dep'])
 orcc = find_program('orcc', required : get_option('orc'))
 if orc_dep.found() and orcc.found()
   have_orcc = true
diff --git a/tests/check/meson.build b/tests/check/meson.build
index 04fb1a1375..c621906f92 100644
--- a/tests/check/meson.build
+++ b/tests/check/meson.build
@@ -199,13 +199,18 @@ orc_tests = [
   ['orc_videotestsrc', files('../../gst/videotestsrc/gstvideotestsrcorc.orc')],
 ]
 
+orc_test_dep = dependency('', required : false)
 if have_orcc
   # FIXME: there should really just be a separate orc-test-0.4.pc file for this
   if orc_dep.type_name() == 'pkgconfig'
-    orc_test_dep = cc.find_library('orc-test-0.4', dependencies: orc_dep)
-  else
+    orc_test_dep = cc.find_library('orc-test-0.4', required : false)
+  endif
+  if not orc_test_dep.found()
     orc_test_dep = dependency('', fallback: ['orc', 'orc_test_dep'])
   endif
+endif
+
+if have_orcc and orc_test_dep.found()
   foreach t : orc_tests
     tname = t[0]
     torcfile = t[1]