diff --git a/GUI/View/Realspace/RealspaceBuilder.cpp b/GUI/View/Realspace/RealspaceBuilder.cpp
index 18185e49d59e0b7987ca198c3f98e6f7b5fb2816..e83e609cc45044b50b68c2f792d9ab1851c73e16 100644
--- a/GUI/View/Realspace/RealspaceBuilder.cpp
+++ b/GUI/View/Realspace/RealspaceBuilder.cpp
@@ -94,17 +94,24 @@ std::unique_ptr<const double2d_t> layerRoughnessMap(const LayerItem& layerItem,
                                                     const SceneGeometry& sceneGeometry, int seed)
 {
     std::unique_ptr<const double2d_t> result;
+    std::unique_ptr<AutoCorrModel> autoCorr;
+    std::unique_ptr<InterlayerModel> interlayer;
 
-    if (const auto* br = dynamic_cast<const BasicRoughnessItem*>(layerItem.certainRoughness())) {
-        BasicAutoCorr autoCorr(br->sigma().dVal(), br->hurst().dVal(),
-                               br->lateralCorrelationLength().dVal());
-        auto roughness =
-            LayerRoughness(&autoCorr, br->certainInterlayerModel()->createModel().release());
-        int n = sceneGeometry.numRoughnessPointsAlongAxis;
-        double L = 2 * sceneGeometry.layerSize;
-        auto rmap = RoughnessMap(n, n, L, L, &roughness, seed); // seed < 0 ==> random every time
-        result.reset(new double2d_t(rmap.generateMap()));
-    }
+    if (const RoughnessItem* r = layerItem.certainRoughness())
+        interlayer = r->certainInterlayerModel()->createModel();
+
+    if (const auto* br = dynamic_cast<const BasicRoughnessItem*>(layerItem.certainRoughness()))
+        autoCorr = std::make_unique<BasicAutoCorr>(br->sigma().dVal(), br->hurst().dVal(),
+                                                   br->lateralCorrelationLength().dVal());
+
+    auto roughness = LayerRoughness(autoCorr.get(), interlayer.get());
+    if (roughness.sigma() == 0)
+        return result;
+
+    int n = sceneGeometry.numRoughnessPointsAlongAxis;
+    double L = 2 * sceneGeometry.layerSize;
+    auto rmap = RoughnessMap(n, n, L, L, &roughness, seed); // seed < 0 ==> random every time
+    result.reset(new double2d_t(rmap.generateMap()));
     return result;
 }