diff --git a/lib/datasource/__snapshots__/metadata.spec.ts.snap b/lib/datasource/__snapshots__/metadata.spec.ts.snap
index 0a7dc8acb2ab67a537f8288d51ad0905fe424ac7..767923b21214386eb49eb55c76dbf51d092484cc 100644
--- a/lib/datasource/__snapshots__/metadata.spec.ts.snap
+++ b/lib/datasource/__snapshots__/metadata.spec.ts.snap
@@ -81,6 +81,21 @@ Object {
 }
 `;
 
+exports[`datasource/metadata Should handle non-url 1`] = `
+Object {
+  "releases": Array [
+    Object {
+      "releaseTimestamp": "2020-02-14T13:12:00",
+      "version": "5.7.0",
+    },
+    Object {
+      "releaseTimestamp": "2020-02-14T10:04:00",
+      "version": "5.6.1",
+    },
+  ],
+}
+`;
+
 exports[`datasource/metadata Should handle parsing of sourceUrls correctly 1`] = `
 Object {
   "releases": Array [
diff --git a/lib/datasource/metadata.spec.ts b/lib/datasource/metadata.spec.ts
index f45c9d4d60b1cbf3d33f7239b028857afcaf1d5f..59de291111a08dd136bcce0848d30e3ce322015c 100644
--- a/lib/datasource/metadata.spec.ts
+++ b/lib/datasource/metadata.spec.ts
@@ -119,6 +119,23 @@ describe('datasource/metadata', () => {
     addMetaData(dep, datasource, lookupName);
     expect(dep).toMatchSnapshot();
   });
+  it('Should handle non-url', () => {
+    const dep = {
+      sourceUrl: 'not-a-url',
+      releases: [
+        { version: '5.7.0', releaseTimestamp: '2020-02-14T13:12:00' },
+        {
+          version: '5.6.1',
+          releaseTimestamp: '2020-02-14T10:04:00',
+        },
+      ],
+    };
+    const datasource = datasourceNpm.id;
+    const lookupName = 'dropzone';
+
+    addMetaData(dep, datasource, lookupName);
+    expect(dep).toMatchSnapshot();
+  });
 
   it('Should handle parsing/converting of GitHub sourceUrls with http and www correctly', () => {
     const dep = {
diff --git a/lib/datasource/metadata.ts b/lib/datasource/metadata.ts
index bb8a2ccc4bd10421b7bc4827f5f10667fcac68b1..071bf0a820b87427886b3f93d1be550492923a7c 100644
--- a/lib/datasource/metadata.ts
+++ b/lib/datasource/metadata.ts
@@ -133,18 +133,21 @@ export function addMetaData(
   });
   extraBaseUrls.push('gitlab.com');
   if (dep.sourceUrl) {
-    if (URL.parse(dep.sourceUrl).hostname?.includes('gitlab')) {
+    const parsedUrl = URL.parse(dep.sourceUrl);
+    if (parsedUrl?.hostname) {
+      let massagedUrl;
+      if (parsedUrl.hostname.includes('gitlab')) {
+        massagedUrl = massageGitlabUrl(dep.sourceUrl);
+      } else {
+        massagedUrl = massageGithubUrl(dep.sourceUrl);
+      }
       // try massaging it
       dep.sourceUrl =
-        parse(massageGitlabUrl(dep.sourceUrl), {
+        parse(massagedUrl, {
           extraBaseUrls,
         }) || dep.sourceUrl;
     } else {
-      // try massaging it
-      dep.sourceUrl =
-        parse(massageGithubUrl(dep.sourceUrl), {
-          extraBaseUrls,
-        }) || dep.sourceUrl;
+      delete dep.sourceUrl;
     }
   }