diff --git a/lib/util/package-rules.spec.ts b/lib/util/package-rules.spec.ts
index 16c79b203a1abb8eeb649acc3d6bfe5afa4bca3e..f444208d353a6e7f5d7784642e440e5cb74b1df3 100644
--- a/lib/util/package-rules.spec.ts
+++ b/lib/util/package-rules.spec.ts
@@ -167,8 +167,43 @@ describe('util/package-rules', () => {
       ],
     };
     const res = applyPackageRules(dep);
+    expect(res.automerge).toBeFalse();
+    const res2 = applyPackageRules({ ...dep, depName: 'foo' });
+    expect(res2.automerge).toBeTrue();
+  });
+
+  it('do not apply rule with empty matchPackagePattern', () => {
+    const dep = {
+      automerge: true,
+      updateType: 'lockFileMaintenance' as UpdateType,
+      packageRules: [
+        {
+          matchPackagePatterns: [],
+          excludePackagePatterns: ['^foo'],
+          automerge: false,
+        },
+      ],
+    };
+    const res = applyPackageRules(dep);
+    expect(res.automerge).toBeTrue();
+    const res2 = applyPackageRules({ ...dep, depName: 'foo' });
+    expect(res2.automerge).toBeTrue();
+  });
+
+  it('do apply rule with matchPackageName', () => {
+    const dep = {
+      automerge: true,
+      updateType: 'lockFileMaintenance' as UpdateType,
+      packageRules: [
+        {
+          matchPackageNames: ['foo'],
+          automerge: false,
+        },
+      ],
+    };
+    const res = applyPackageRules(dep);
     expect(res.automerge).toBeTrue();
-    const res2 = applyPackageRules({ ...dep, depName: 'anything' });
+    const res2 = applyPackageRules({ ...dep, depName: 'foo' });
     expect(res2.automerge).toBeFalse();
   });
 
diff --git a/lib/util/package-rules.ts b/lib/util/package-rules.ts
index 5447e82fd2a9a5283677ea8bc98d758c2f268d76..55b637e5f9847834df7937deec45ce3193df7e4c 100644
--- a/lib/util/package-rules.ts
+++ b/lib/util/package-rules.ts
@@ -155,7 +155,12 @@ function matchesRule(
     matchPackagePrefixes.length
   ) {
     if (!depName) {
-      return false;
+      // if using the default rules, return true else false
+      return (
+        is.undefined(packageRule.matchPackagePatterns) &&
+        is.undefined(packageRule.matchPackageNames) &&
+        is.undefined(packageRule.matchPackagePrefixes)
+      );
     }
     let isMatch = matchPackageNames.includes(depName);
     // name match is "or" so we check patterns if we didn't match names