diff --git a/include/opendht/value.h b/include/opendht/value.h
index 485af6adc8379ba363b9239d45540349acc8b0df..bb57446276f1dc5beef0fc0f4ecf123e98437cbd 100644
--- a/include/opendht/value.h
+++ b/include/opendht/value.h
@@ -133,7 +133,9 @@ struct Value
     class Filter : public std::function<bool(const Value&)> {
     public:
         Filter() {}
-        template<typename Functor> Filter(Functor&& f) : std::function<bool(const Value&)>::function(std::forward<Functor>(f)) {}
+
+        template<typename Functor>
+        Filter(Functor f) : std::function<bool(const Value&)>::function(f) {}
 
         Filter chain(Filter&& f2) {
             auto f1 = *this;