diff --git a/lib/workers/repository/process/lookup/index.js b/lib/workers/repository/process/lookup/index.js
index f002ed0e1d33c12dfd427202d40c7ad3801ba207..c5bc16a6a6c6e26f9b182c08a64b3737a6d6ed98 100644
--- a/lib/workers/repository/process/lookup/index.js
+++ b/lib/workers/repository/process/lookup/index.js
@@ -136,7 +136,13 @@ async function lookupUpdates(config) {
   if (!(repositoryUrl && repositoryUrl.length)) {
     repositoryUrl = null;
   }
+  const filteredReleases = releases.filter(
+    release =>
+      filteredVersions.includes(release.version) ||
+      release.version === fromVersion
+  );
   return {
+    releases: filteredReleases,
     repositoryUrl,
     updates,
   };
diff --git a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap
index 87e1a285857cd23589059982d3c77d69191e550c..ccc9b3bd231c117e29f5234a7c466ec55315ae11 100644
--- a/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap
+++ b/test/workers/repository/process/lookup/__snapshots__/index.spec.js.snap
@@ -228,6 +228,43 @@ Array [
 ]
 `;
 
+exports[`manager/npm/lookup .lookupUpdates() returns complex object 1`] = `
+Object {
+  "releases": Array [
+    Object {
+      "canBeUnpublished": false,
+      "gitRef": "b26cace16f6070e756b6a546cf2693bece03f8f8",
+      "time": "2015-04-26T16:42:11.311Z",
+      "version": "1.3.0",
+    },
+    Object {
+      "canBeUnpublished": false,
+      "gitRef": "05e20dc704421ca820553721c7178168a8461506",
+      "time": "2015-05-09T16:52:40.699Z",
+      "version": "1.4.0",
+    },
+    Object {
+      "canBeUnpublished": false,
+      "gitRef": "d373079d3620152e3d60e82f27265a09ee0e81bd",
+      "time": "2015-05-17T04:25:07.299Z",
+      "version": "1.4.1",
+    },
+  ],
+  "repositoryUrl": "https://github.com/kriskowal/q",
+  "updates": Array [
+    Object {
+      "canBeUnpublished": false,
+      "fromVersion": "1.3.0",
+      "newMajor": 1,
+      "newMinor": 4,
+      "newValue": "1.4.1",
+      "toVersion": "1.4.1",
+      "type": "minor",
+    },
+  ],
+}
+`;
+
 exports[`manager/npm/lookup .lookupUpdates() returns minor update if automerging both patch and minor 1`] = `
 Array [
   Object {
diff --git a/test/workers/repository/process/lookup/index.spec.js b/test/workers/repository/process/lookup/index.spec.js
index c3c0c300dcd8dd0b40dc3e08f2b81067c98ef1a1..216a4e8a4c5d7ce6f68b80ea33ba89ff9d7052a2 100644
--- a/test/workers/repository/process/lookup/index.spec.js
+++ b/test/workers/repository/process/lookup/index.spec.js
@@ -846,5 +846,17 @@ describe('manager/npm/lookup', () => {
       const res = await lookup.lookupUpdates(config);
       expect(res.updates).toMatchSnapshot();
     });
+    it('returns complex object', async () => {
+      config.currentValue = '1.3.0';
+      config.depName = 'q';
+      config.purl = 'pkg:npm/q';
+      nock('https://registry.npmjs.org')
+        .get('/q')
+        .reply(200, qJson);
+      const res = await lookup.lookupUpdates(config);
+      expect(res).toMatchSnapshot();
+      expect(res.releases).toHaveLength(3);
+      expect(res.repositoryUrl).toBeDefined();
+    });
   });
 });