diff --git a/lib/datasource/npm.js b/lib/datasource/npm.js
index 946ef39db28df0c0b94aed403451492747271909..f032b5d6c2c02fa7cd0129b6bb121d7be346f451 100644
--- a/lib/datasource/npm.js
+++ b/lib/datasource/npm.js
@@ -292,7 +292,8 @@ async function getDependency(name, retries = 5) {
       return release;
     });
     logger.trace({ dep }, 'dep');
-    memcache[name] = dep;
+    // serialize first before saving
+    memcache[name] = JSON.parse(JSON.stringify(dep));
     const cacheMinutes = process.env.RENOVATE_CACHE_NPM_MINUTES
       ? parseInt(process.env.RENOVATE_CACHE_NPM_MINUTES, 10)
       : 5;