diff --git a/RayTracer/material/BackgroundMaterial.cpp b/RayTracer/material/BackgroundMaterial.cpp
index e8226660ee09402ad75831b7f9f6264b106e3cc7..22f7c2dd9e7509864b31047adc9a698f4491a866 100644
--- a/RayTracer/material/BackgroundMaterial.cpp
+++ b/RayTracer/material/BackgroundMaterial.cpp
@@ -20,7 +20,15 @@ util::Vec3 BackgroundMaterial::scattered_d(const util::Vec3& d,
                                            const util::Vec3& n) const {
 	return util::Vec3(0, 0, 0);
 }
-bool BackgroundMaterial::scatter() const {
+bool BackgroundMaterial::scatter(const util::Vec3& d,
+                                 const util::Vec3& n) const {
 	return false;
 }
+
+float BackgroundMaterial::calculateLightMultiplier(const util::Vec3& d_in,
+                                                   const util::Vec3& d_out,
+                                                   const util::Vec3& n) const {
+	// Background should not be able to receive any light
+	return 0;
+}
 }  // namespace material
\ No newline at end of file
diff --git a/RayTracer/material/BackgroundMaterial.h b/RayTracer/material/BackgroundMaterial.h
index ec7561311385bdb0a886e10a90d77f15b652b830..c6594c468587c15e08b32527375e58aa393dc3b4 100644
--- a/RayTracer/material/BackgroundMaterial.h
+++ b/RayTracer/material/BackgroundMaterial.h
@@ -12,7 +12,11 @@ class BackgroundMaterial : public Material {
 	util::Vec3 emission(float texel_x, float texel_y) const override;
 	util::Vec3 scattered_d(const util::Vec3& d,
 	                       const util::Vec3& n) const override;
-	bool scatter() const override;
+	bool scatter(const util::Vec3& d, const util::Vec3& n) const override;
+
+	float calculateLightMultiplier(const util::Vec3& d_in,
+	                               const util::Vec3& d_out,
+	                               const util::Vec3& n) const override;
 
    private:
 	std::shared_ptr<util::Sampler> texture;