diff --git a/src/geometry/initializer/BoundarySetter.h b/src/geometry/initializer/BoundarySetter.h
index 256ec58444530bcce20502a4541cab8b3a1b951c..b9fe341228dca130ada4f2f8647d98cfcc1f9b3d 100644
--- a/src/geometry/initializer/BoundarySetter.h
+++ b/src/geometry/initializer/BoundarySetter.h
@@ -194,7 +194,10 @@ namespace initializer {
          }
 
          if ( boundaryConfigBlock_ )
+         {
             bcConfig_ = boundaryHandling_->createBoundaryConfiguration( boundaryUID_, boundaryConfigBlock_ );
+            boundaryConfigBlock_ = Config::BlockHandle(); // discard the config block so we don't unnecessarily run createBoundaryConfiguration more than once with the same arguments
+         }
 
          flag_ = boundaryHandling_->getBoundaryMask( boundaryUID_ );
          if ( ! field::isFlag( flag_ ) )