diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 2fbcb2b..bf79bc5 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -490,10 +490,9 @@
             if self.static:
                 if lib.startswith('-L'):
                     libpaths.append(lib[2:])
-                    print(lib)
                     continue
                 # FIXME: try to handle .la files in static mode too?
-                elif lib.startswith('-l') and libpaths:
+                elif lib.startswith('-l'):
                     args = self.compiler.find_library(lib[2:], self.env, libpaths, libtype='static')
                     if not args or len(args) < 1:
                         if lib in static_libs_notfound:
@@ -501,12 +500,6 @@
                         mlog.warning('Static library {!r} not found for dependency {!r}, may '
                                      'not be statically linked'.format(lib[2:], self.name))
                         static_libs_notfound.append(lib)
-                        # Preserve the -l arg since we couldn't resolve it to
-                        # a static library. Also need all previous -L args now.
-                        for p in libpaths:
-                            lp = '-L' + p
-                            if lp not in self.link_args:
-                                self.link_args.append(lp)
                     else:
                         # Replace -l arg with full path to static library
                         lib = args[0]
@@ -523,6 +516,11 @@
                 lib = shared_lib
                 self.is_libtool = True
             self.link_args.append(lib)
+        # Add all -Lbar args if we have -lfoo args in link_args
+        if static_libs_notfound:
+            # Order of -L flags doesn't matter with ld, but it might with other
+            # linkers such as MSVC, so prepend them.
+            self.link_args = ['-L' + lp for lp in libpaths] + self.link_args
 
     def get_pkgconfig_variable(self, variable_name, kwargs):
         options = ['--variable=' + variable_name, self.name]
