diff --git a/src/include/clapp/value.hpp b/src/include/clapp/value.hpp
index 623be6c4193d952881eae2643311a5e0da6f9e0d..cad39aad3b69d179a2503c0164a7be6c79a93ac3 100644
--- a/src/include/clapp/value.hpp
+++ b/src/include/clapp/value.hpp
@@ -48,15 +48,15 @@ constexpr const char* clapp::value::get_chrono_postfix() noexcept {
 
 template <typename T>
 std::string clapp::value::to_string(const T& value) {
-    std::stringstream string_stream;
     if constexpr (std::is_integral_v<T>) {
-        string_stream << std::to_string(value);
+        return std::to_string(value);
     } else if constexpr (type_traits::is_chrono_duration<T>::value) {
-        string_stream << value.count() << get_chrono_postfix<T>();
+        return std::to_string(value.count()) + get_chrono_postfix<T>();
     } else {
+        std::stringstream string_stream;
         string_stream << value;
+        return string_stream.str();
     }
-    return string_stream.str();
 }
 
 template <typename T>