diff --git a/include/vkcv/Features.hpp b/include/vkcv/Features.hpp
index f1329106abbca99dbb9b81661afeef3221de155e..3c56eb61d7683c05497a985f86dc47f0a70b8c1a 100644
--- a/include/vkcv/Features.hpp
+++ b/include/vkcv/Features.hpp
@@ -29,7 +29,7 @@ namespace vkcv {
 		
 		template<typename T>
 		void requireExtensionFeature(const std::string& extension, const std::function<void(T&)>& featureFunction) {
-			m_features.emplace_back([extension, &featureFunction](FeatureManager& featureManager) {
+			m_features.emplace_back([extension, featureFunction](FeatureManager& featureManager) {
 				if (featureManager.useExtension(extension, true)) {
 					return featureManager.template useFeatures<T>(featureFunction, true);
 				} else {
@@ -42,7 +42,7 @@ namespace vkcv {
 		
 		template<typename T>
 		void requireFeature(const std::function<void(T&)>& featureFunction) {
-			m_features.emplace_back([&featureFunction](FeatureManager& featureManager) {
+			m_features.emplace_back([featureFunction](FeatureManager& featureManager) {
 				return featureManager.template useFeatures<T>(featureFunction, true);
 			});
 		}
@@ -54,7 +54,7 @@ namespace vkcv {
 		
 		template<typename T>
 		void tryExtensionFeature(const std::string& extension, const std::function<void(T&)>& featureFunction) {
-			m_features.emplace_back([extension, &featureFunction](FeatureManager& featureManager) {
+			m_features.emplace_back([extension, featureFunction](FeatureManager& featureManager) {
 				if (featureManager.useExtension(extension, false)) {
 					return featureManager.template useFeatures<T>(featureFunction, false);
 				} else {
@@ -67,7 +67,7 @@ namespace vkcv {
 		
 		template<typename T>
 		void tryFeature(const std::function<void(T&)>& featureFunction) {
-			m_features.emplace_back([&featureFunction](FeatureManager& featureManager) {
+			m_features.emplace_back([featureFunction](FeatureManager& featureManager) {
 				return featureManager.template useFeatures<T>(featureFunction, false);
 			});
 		}
diff --git a/src/vkcv/Features.cpp b/src/vkcv/Features.cpp
index cdfbcabbcd72ead650a739d101109e2d33fc2e75..636f3f41fd6008a3a33a2212792219dbe39d320f 100644
--- a/src/vkcv/Features.cpp
+++ b/src/vkcv/Features.cpp
@@ -11,7 +11,7 @@ namespace vkcv {
 	
 	void Features::requireExtensionFeature(const std::string &extension,
 										   const std::function<void(vk::PhysicalDeviceFeatures &)> &featureFunction) {
-		m_features.emplace_back([extension, &featureFunction](FeatureManager& featureManager) {
+		m_features.emplace_back([extension, featureFunction](FeatureManager& featureManager) {
 			if (featureManager.useExtension(extension, true)) {
 				return featureManager.useFeatures(featureFunction, true);
 			} else {
@@ -21,7 +21,7 @@ namespace vkcv {
 	}
 	
 	void Features::requireFeature(const std::function<void(vk::PhysicalDeviceFeatures &)> &featureFunction) {
-		m_features.emplace_back([&featureFunction](FeatureManager& featureManager) {
+		m_features.emplace_back([featureFunction](FeatureManager& featureManager) {
 			return featureManager.useFeatures(featureFunction, true);
 		});
 	}
@@ -34,7 +34,7 @@ namespace vkcv {
 	
 	void Features::tryExtensionFeature(const std::string &extension,
 									   const std::function<void(vk::PhysicalDeviceFeatures &)> &featureFunction) {
-		m_features.emplace_back([extension, &featureFunction](FeatureManager& featureManager) {
+		m_features.emplace_back([extension, featureFunction](FeatureManager& featureManager) {
 			if (featureManager.useExtension(extension, false)) {
 				return featureManager.useFeatures(featureFunction, false);
 			} else {
@@ -44,7 +44,7 @@ namespace vkcv {
 	}
 	
 	void Features::tryFeature(const std::function<void(vk::PhysicalDeviceFeatures &)> &featureFunction) {
-		m_features.emplace_back([&featureFunction](FeatureManager& featureManager) {
+		m_features.emplace_back([featureFunction](FeatureManager& featureManager) {
 			return featureManager.useFeatures(featureFunction, false);
 		});
 	}