diff --git a/lib/config/__snapshots__/validation.spec.ts.snap b/lib/config/__snapshots__/validation.spec.ts.snap
index 27285c4322baba0556d770e774a38e7cde71709e..a86d837e6c9dc41f7cc2a56bf3d96bc26f11a7a2 100644
--- a/lib/config/__snapshots__/validation.spec.ts.snap
+++ b/lib/config/__snapshots__/validation.spec.ts.snap
@@ -53,6 +53,10 @@ Array [
     "message": "Configuration option \`packageRules[3].matchPackagePatterns\` should be a list (Array)",
     "topic": "Configuration Error",
   },
+  Object {
+    "message": "Configuration option \`prCommitsPerRunLimit\` should be an integer. Found: false (boolean)",
+    "topic": "Configuration Error",
+  },
   Object {
     "message": "Configuration option \`semanticCommitType\` should be a string",
     "topic": "Configuration Error",
diff --git a/lib/config/validation.spec.ts b/lib/config/validation.spec.ts
index 31f564af38eae9f855abd346293ca84e7d20406e..1d7f3246482502fe2816a4a9b27081dec46117e6 100644
--- a/lib/config/validation.spec.ts
+++ b/lib/config/validation.spec.ts
@@ -195,6 +195,7 @@ describe('config/validation', () => {
         schedule: ['every 15 mins every weekday'],
         timezone: 'Asia',
         labels: 5 as any,
+        prCommitsPerRunLimit: false as any,
         semanticCommitType: 7 as any,
         lockFileMaintenance: false as any,
         extends: [':timezone(Europe/Brussel)'],
@@ -220,7 +221,7 @@ describe('config/validation', () => {
       );
       expect(warnings).toHaveLength(1);
       expect(errors).toMatchSnapshot();
-      expect(errors).toHaveLength(12);
+      expect(errors).toHaveLength(13);
     });
 
     it('selectors outside packageRules array trigger errors', async () => {
diff --git a/lib/config/validation.ts b/lib/config/validation.ts
index 383790945cb8ac05ffa68454b8e9a75ec69b0444..912e887f6281213fbf0dcee3c7c9768e15766e30 100644
--- a/lib/config/validation.ts
+++ b/lib/config/validation.ts
@@ -243,6 +243,15 @@ export async function validateConfig(
               )} (${typeof val})`,
             });
           }
+        } else if (type === 'integer') {
+          if (!is.number(val)) {
+            errors.push({
+              topic: 'Configuration Error',
+              message: `Configuration option \`${currentPath}\` should be an integer. Found: ${JSON.stringify(
+                val
+              )} (${typeof val})`,
+            });
+          }
         } else if (type === 'array' && val) {
           if (is.array(val)) {
             for (const [subIndex, subval] of val.entries()) {