diff --git a/app/models/badge.rb b/app/models/badge.rb
index 7ff7ce07105..5608444957b 100644
--- a/app/models/badge.rb
+++ b/app/models/badge.rb
@@ -181,7 +181,7 @@ class Badge < ActiveRecord::Base
   def self.find_system_badge_id_from_translation_key(translation_key)
     return unless translation_key.starts_with?('badges.')
     badge_name_klass = translation_key.split('.').second.camelize
-    "Badge::#{badge_name_klass}".constantize
+    Badge.const_defined?(badge_name_klass) ? "Badge::#{badge_name_klass}".constantize : nil
   end
 
   def awarded_for_trust_level?
diff --git a/spec/models/badge_spec.rb b/spec/models/badge_spec.rb
index 221569de084..73cd39ef0ee 100644
--- a/spec/models/badge_spec.rb
+++ b/spec/models/badge_spec.rb
@@ -113,6 +113,14 @@ describe Badge do
         expect(Badge.find_system_badge_id_from_translation_key(translation_key)).to eq(nil)
       end
     end
+
+    context "when translation key doesn't match its class" do
+      let(:translation_key) { "badges.licensed.long_description" }
+
+      it "returns nil" do
+        expect(Badge.find_system_badge_id_from_translation_key(translation_key)).to eq(nil)
+      end
+    end
   end
 
   context "First Quote" do