diff --git a/lib/datasource/packagist.js b/lib/datasource/packagist.js
index b585bffccafe0b0a6e7eda9d852704ce768ea789..1be01e43d1d9db7f4a3d81addf5656bdd11a1900 100644
--- a/lib/datasource/packagist.js
+++ b/lib/datasource/packagist.js
@@ -54,6 +54,14 @@ async function getRegistryMeta(regUrl) {
       logger.info({ regUrl }, 'Unauthorized Packagist repository');
       return null;
     }
+    if (
+      err.statusCode === 404 &&
+      err.url &&
+      err.url.endsWith('/packages.json')
+    ) {
+      logger.info({ regUrl }, 'Packagist repository not found');
+      return null;
+    }
     logger.warn({ err }, 'Packagist download error');
     return null;
   }
diff --git a/test/datasource/packagist.spec.js b/test/datasource/packagist.spec.js
index 72cda449222f7130ec7aed3e1e7c691deb28a3c4..329cb7c02cf3e456372a3d7d9d1da080815e2b9e 100644
--- a/test/datasource/packagist.spec.js
+++ b/test/datasource/packagist.spec.js
@@ -84,6 +84,19 @@ describe('datasource/packagist', () => {
       );
       expect(res).toBeNull();
     });
+    it('handles not found registries', async () => {
+      got.mockImplementationOnce(() =>
+        Promise.reject({
+          statusCode: 404,
+          url: 'https://some.registry/packages.json',
+        })
+      );
+      const res = await datasource.getPkgReleases(
+        'pkg:packagist/vendor/package-name',
+        {}
+      );
+      expect(res).toBeNull();
+    });
     it('supports includes packages', async () => {
       const packagesJson = {
         packages: [],