diff --git a/app/models/gpg_key.rb b/app/models/gpg_key.rb
index 009a93ce1a80d89a6d4c7856033aa7db4448171e..535b40472b09ece799036475eea8ef5bcad85b8d 100644
--- a/app/models/gpg_key.rb
+++ b/app/models/gpg_key.rb
@@ -77,12 +77,11 @@ class GpgKey < ActiveRecord::Base
   end
 
   def revoke
-    GpgSignature.where(gpg_key: self, valid_signature: true).find_each do |gpg_signature|
-      gpg_signature.update_attributes!(
-        gpg_key: nil,
-        valid_signature: false
-      )
-    end
+    GpgSignature.where(gpg_key: self, valid_signature: true).update_all(
+      gpg_key_id: nil,
+      valid_signature: false,
+      updated_at: Time.zone.now
+    )
 
     destroy
   end