diff --git a/services/crates/crates-base.js b/services/crates/crates-base.js
index 00a5742378426338ea16d17b5b934e4b7f8b40a4..c14521c0590ccf1b93e6d5e3a8e4f6c42eb0381d 100644
--- a/services/crates/crates-base.js
+++ b/services/crates/crates-base.js
@@ -9,7 +9,7 @@ const keywords = ['Rust']
 const crateSchema = Joi.object({
   crate: Joi.object({
     downloads: nonNegativeInteger,
-    recent_downloads: nonNegativeInteger,
+    recent_downloads: nonNegativeInteger.allow(null),
     max_version: Joi.string().required(),
   }).required(),
   versions: Joi.array()
diff --git a/services/crates/crates-downloads.service.js b/services/crates/crates-downloads.service.js
index 4363716dac7c4da317503d54723673ee3961d929..b26fe393d2fa5c27db1f7046b99ab5c1c23ffbc0 100644
--- a/services/crates/crates-downloads.service.js
+++ b/services/crates/crates-downloads.service.js
@@ -87,7 +87,7 @@ module.exports = class CratesDownloads extends BaseCratesService {
       case 'dv':
         return json.crate ? json.versions[0].downloads : json.version.downloads
       case 'dr':
-        return json.crate.recent_downloads
+        return json.crate.recent_downloads || 0
       default:
         return json.crate ? json.crate.downloads : json.version.downloads
     }
diff --git a/services/crates/crates-downloads.tester.js b/services/crates/crates-downloads.tester.js
index c68374a4033863df010e65e40088dd5b8bde9c1b..da064bf9547596d2ec614241956b2614f807b4bd 100644
--- a/services/crates/crates-downloads.tester.js
+++ b/services/crates/crates-downloads.tester.js
@@ -37,6 +37,22 @@ t.create('recent downloads').get('/dr/libc.json').expectBadge({
   message: isMetric,
 })
 
+t.create('recent downloads (null)')
+  .get('/dr/libc.json')
+  .intercept(nock =>
+    nock('https://crates.io')
+      .get('/api/v1/crates/libc')
+      .reply(200, {
+        crate: {
+          downloads: 42,
+          recent_downloads: null,
+          max_version: '0.2.71',
+        },
+        versions: [{ downloads: 42, license: 'MIT OR Apache-2.0' }],
+      })
+  )
+  .expectBadge({ label: 'recent downloads', message: '0' })
+
 t.create('recent downloads (with version)')
   .get('/dr/libc/0.2.31.json')
   .expectBadge({