diff --git a/app/models/communication/block/template/embed.rb b/app/models/communication/block/template/embed.rb
index a02f6df85c5a77105e5f447b735569c585aee6b4..053f90ee603f9622073943e001477d22128f5ffb 100644
--- a/app/models/communication/block/template/embed.rb
+++ b/app/models/communication/block/template/embed.rb
@@ -5,31 +5,23 @@ class Communication::Block::Template::Embed < Communication::Block::Template::Ba
 
   protected
 
-  def has_iframe?
-
-    @doc = Nokogiri::XML(code)
-    is_iframe = @doc.xpath("//iframe")
-
-    if !is_iframe.empty?
-      return true
-    end
+  def check_accessibility
+    super
+    accessibility_error 'accessibility.blocks.templates.embed.title_missing' if has_iframe_without_title?
+    accessibility_error 'accessibility.blocks.templates.embed.transcription_missing' if  has_iframe? && transcription.blank?
+  end
 
+  def has_iframe?
+    !nokogiri.xpath("//iframe").empty?
   end
 
   def has_iframe_without_title?
-    
-    if has_iframe?
-      
-      Nokogiri::XML(code).at('iframe').attr('title')
-
-    end
-
+    return false unless has_iframe?
+    nokogiri.at('iframe').attr('title')
   end
 
-  def check_accessibility
-    super
-    accessibility_error 'accessibility.blocks.templates.embed.title_missing' if  has_iframe? && !has_iframe_without_title?
-    accessibility_error 'accessibility.blocks.templates.embed.transcription_missing' if  has_iframe? && transcription.blank?
+  def nokogiri
+    @nokogiri ||= Nokogiri::XML(code)
   end
 
 end