diff --git a/app/services/blocks_migration.rb b/app/services/blocks_migration.rb
index d5b0e3cdbe92d9467e6d7e83780d11553fcbb6f5..ff7302a64868f9923e68db50dfbc009ed9130569 100644
--- a/app/services/blocks_migration.rb
+++ b/app/services/blocks_migration.rb
@@ -51,7 +51,7 @@ class BlocksMigration
   def self.clean_definitions
     Communication::Block.where(template_kind: 'definitions').each do |block|
       data = block['data']
-      if data && data['elements'].any? && data['elements'].first.has_key?('text')
+      if data && data.has_key?('elements') && data['elements'].any? && data['elements'].first.has_key?('text')
         elements = []
         data['elements'].each do |elmt|
           elements << { title: elmt['title'], description: elmt['text'] }
@@ -66,7 +66,7 @@ class BlocksMigration
   def self.clean_gallery
     Communication::Block.where(template_kind: 'gallery').each do |block|
       data = block['data']
-      if data && data['elements'].any? && data['elements'].first.has_key?('file')
+      if data && data.has_key?('elements') && data['elements'].any? && data['elements'].first.has_key?('file')
         elements = []
         data['elements'].each do |elmt|
           elements << { alt: elmt['alt'], text: elmt['text'], credit: elmt['credit'], image: elmt['file'] }