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()); }