diff --git a/lib/modules/manager/npm/extract/yarnrc.spec.ts b/lib/modules/manager/npm/extract/yarnrc.spec.ts
index 499741626072c582195f727559d4794a64b388d5..0b77d7ccf34cf9ebe314e536292901c315b2e30a 100644
--- a/lib/modules/manager/npm/extract/yarnrc.spec.ts
+++ b/lib/modules/manager/npm/extract/yarnrc.spec.ts
@@ -43,6 +43,16 @@ describe('modules/manager/npm/extract/yarnrc', () => {
       });
       expect(registryUrl).toBeNull();
     });
+
+    it('ignores missing scope registryServer', () => {
+      const registryUrl = resolveRegistryUrl('@scope/a-package', {
+        npmScopes: {
+          scope: {},
+        },
+        npmRegistryServer: 'https://private.example.com/npm',
+      });
+      expect(registryUrl).toBeNull();
+    });
   });
 
   describe('loadConfigFromYarnrcYml()', () => {
@@ -91,6 +101,7 @@ describe('modules/manager/npm/extract/yarnrc', () => {
         `,
         null,
       ],
+      ['', null],
     ])('produces expected config (%s)', (yarnrcYml, expectedConfig) => {
       const config = loadConfigFromYarnrcYml(yarnrcYml);
 
diff --git a/lib/modules/manager/npm/extract/yarnrc.ts b/lib/modules/manager/npm/extract/yarnrc.ts
index 81f344851831a6b6933a439df2bd83eaed48e474..49e32e218436a4a59e317ee8dccf1704ea818347 100644
--- a/lib/modules/manager/npm/extract/yarnrc.ts
+++ b/lib/modules/manager/npm/extract/yarnrc.ts
@@ -17,11 +17,14 @@ export type YarnConfig = z.infer<typeof YarnrcYmlSchema>;
 
 export function loadConfigFromYarnrcYml(yarnrcYml: string): YarnConfig | null {
   try {
-    return YarnrcYmlSchema.parse(
-      load(yarnrcYml, {
-        json: true,
-      })
-    );
+    const obj = load(yarnrcYml, {
+      json: true,
+    });
+    if (!obj) {
+      // emtpy yaml file
+      return null;
+    }
+    return YarnrcYmlSchema.parse(obj);
   } catch (err) {
     logger.warn({ yarnrcYml, err }, `Failed to load yarnrc file`);
     return null;