diff --git a/src/problem/problem.cpp b/src/problem/problem.cpp
index 225e6f1ed184b3b51959ab4f125c1dbb9066eaec..18b850f102145bed7b2cf49fc42930ebc8a0822e 100644
--- a/src/problem/problem.cpp
+++ b/src/problem/problem.cpp
@@ -440,6 +440,7 @@ VectorComposite Problem::getState(const StateStructure& _structure) const
                     state.insert(pair_key_vec);
             }
         }
+
         // check for empty blocks and fill them with zeros
         for (const auto& ckey : frame_structure_)
         {
@@ -483,6 +484,15 @@ VectorComposite Problem::getState (const TimeStamp& _ts, const StateStructure& _
                 state.insert(pair_key_vec);
         }
     }
+
+    // check for empty blocks and fill them with zeros
+    for (const auto& ckey : frame_structure_)
+    {
+        const auto& key = string(1,ckey);
+        if (state.count(key) == 0)
+            state.emplace(key, stateZero(key).at(key));
+    }
+
     return state;
 }