diff --git a/Sample/Scattering/DecoratedFF.cpp b/Sample/Scattering/DecoratedFF.cpp
index bf05e762dc5dd61700c33345aa904f59df028ae9..4b8c9fb5df86f4d364fda37ee679cea401dc6cd5 100644
--- a/Sample/Scattering/DecoratedFF.cpp
+++ b/Sample/Scattering/DecoratedFF.cpp
@@ -21,19 +21,19 @@
 #include "Sample/Scattering/Rotations.h"
 #include <iostream>
 
-DecoratedFF::DecoratedFF(IBornFF* ff, const Material& material,
-                         const Material& ambient_material, const R3* position,
+DecoratedFF::DecoratedFF(IBornFF* ff, const Material* material,
+                         const Material* ambient_material, const R3* position,
                          const RotMatrix* rotMatrix)
     : m_ff(std::move(ff))
-    , m_material(std::make_unique<const Material>(material))
-    , m_ambient_material(std::make_unique<Material>(ambient_material))
+    , m_material(std::move(material))
+    , m_ambient_material(std::move(ambient_material))
     , m_position(std::move(position))
     , m_rotMatrix(std::move(rotMatrix))
 {
 }
 
 DecoratedFF::DecoratedFF(const IBornFF& ff)
-    : DecoratedFF(ff.clone(), HomogeneousMaterial(), HomogeneousMaterial(), nullptr, nullptr)
+    : DecoratedFF(ff.clone(), nullptr, nullptr, nullptr, nullptr)
 {
 }
 
@@ -41,8 +41,8 @@ DecoratedFF::~DecoratedFF() = default;
 
 DecoratedFF* DecoratedFF::clone() const
 {
-    return new DecoratedFF(m_ff->clone(), *m_material,
-                           *m_ambient_material,
+    return new DecoratedFF(m_ff->clone(), m_material ? new Material (*m_material) : nullptr,
+                           m_ambient_material ? new Material(*m_ambient_material) : nullptr,
                            m_position ? new R3(*m_position) : nullptr,
                            m_rotMatrix ? new RotMatrix(*m_rotMatrix) : nullptr);
 }
diff --git a/Sample/Scattering/DecoratedFF.h b/Sample/Scattering/DecoratedFF.h
index b0636e5139a2fc5ffe6b2d4f149d1c7f992edfe1..8ebb0a362ffa1d85ee792b7d09ce3d7f94be902e 100644
--- a/Sample/Scattering/DecoratedFF.h
+++ b/Sample/Scattering/DecoratedFF.h
@@ -70,8 +70,8 @@ protected:
     std::unique_ptr<const IBornFF> m_ff;
 
 //private:
-    DecoratedFF(IBornFF* ff, const Material& material,
-                const Material& ambient_material, const R3* position, const RotMatrix* rotMatrix);
+    DecoratedFF(IBornFF* ff, const Material* material,
+                const Material* ambient_material, const R3* position, const RotMatrix* rotMatrix);
 
     std::unique_ptr<const Material> m_material;
     std::unique_ptr<const Material> m_ambient_material;