diff --git a/src/domain_decomposition/BlockStorage.h b/src/domain_decomposition/BlockStorage.h
index b59f7b30fe803a2c9abbe48c8856c9b4bbf2be20..2f29acdb7fd45c1e287ebf6d4601b641f303506b 100644
--- a/src/domain_decomposition/BlockStorage.h
+++ b/src/domain_decomposition/BlockStorage.h
@@ -723,6 +723,12 @@ inline void BlockStorage::clearBlockData( const BlockDataID & id )
 {
    for( auto block = begin(); block != end(); ++block )
       block->deleteData( id );
+
+   //also delete block data from data handling vector
+   auto elementToErase = std::remove_if(blockDataItem_.begin(), blockDataItem_.end(),
+                                 [id](const internal::BlockDataItem& dataItem)
+                                 { return dataItem.getId() == id; });
+   blockDataItem_.erase(elementToErase, blockDataItem_.end());
 }