diff --git a/src/clapp/parser.cpp b/src/clapp/parser.cpp
index cd75d27c0556920e7e49458c42d95a1c5788b376..65048382957a927ee864eaf80adb0c18d9278ea9 100644
--- a/src/clapp/parser.cpp
+++ b/src/clapp/parser.cpp
@@ -84,7 +84,7 @@ clapp::parser::basic_parser_t::get_optional_argument_descriptions() {
     return optional_argument_descriptions;
 }
 
-void clapp::parser::basic_parser_t::reg(reg_sub_parser_conf_t&& config) {
+void clapp::parser::basic_parser_t::reg(reg_sub_parser_conf_t config) {
     if (!get_optional_argument_descriptions().empty()) {
         std::stringstream string_stream;
         string_stream << "Can't register sub-parser '" << config.sub_parser_name
diff --git a/src/include/clapp/parser.h b/src/include/clapp/parser.h
index 9f040e71060d4aa04eee2a3b7584562396375f26..cecd79baacf39d66867f3562a0bca7797ccfb999 100644
--- a/src/include/clapp/parser.h
+++ b/src/include/clapp/parser.h
@@ -96,7 +96,7 @@ class basic_parser_t : public basic_option_container_t {
 
     template <types::argument_type_t argument_type>
     void reg(types::basic_reg_argument_conf_t<argument_type>&& config);
-    void reg(reg_sub_parser_conf_t&& config);
+    void reg(reg_sub_parser_conf_t config);
 
     struct parse_result_t {
         types::arg_iterator_t it;