diff --git a/app/models/communication/block/template/base.rb b/app/models/communication/block/template/base.rb
index 6886f6842fc43d48549c726b639e6865489e1089..1aa7ca17d7f09ea31f75a5b10664635fafeaead2 100644
--- a/app/models/communication/block/template/base.rb
+++ b/app/models/communication/block/template/base.rb
@@ -35,10 +35,12 @@ class Communication::Block::Template::Base
       end
 
       def #{property}
+        load_data
         #{property}_component.data
       end
 
       def #{property}=(value)
+        load_data
         #{property}_component.data = value
       end
 
@@ -47,6 +49,7 @@ class Communication::Block::Template::Base
 
   def initialize(block)
     @block = block
+    @data_loaded = false
   end
 
   def data=(value)
@@ -92,6 +95,13 @@ class Communication::Block::Template::Base
     }
   end
 
+  def load_data
+    return if @data_loaded
+    # Accessing the data loads it from database
+    block.data
+    @data_loaded = true
+  end
+
   def build_git_dependencies
   end