diff --git a/include/sdbusplus/message/native_types.hpp b/include/sdbusplus/message/native_types.hpp
index f93d775..4d41879 100644
--- a/include/sdbusplus/message/native_types.hpp
+++ b/include/sdbusplus/message/native_types.hpp
@@ -189,6 +189,20 @@
         out.str = encOut;
         return out;
     }
+
+    string_path_wrapper& operator/=(const char* extId)
+    {
+        string_path_wrapper out = this->operator/(extId);
+        this->str = std::move(out.str);
+        return *this;
+    }
+
+    string_path_wrapper& operator/=(const std::string& extId)
+    {
+        string_path_wrapper out = this->operator/(extId);
+        this->str = std::move(out.str);
+        return *this;
+    }
 };
 
 /** Typename for sdbus SIGNATURE types. */
diff --git a/test/message/types.cpp b/test/message/types.cpp
index b47d39b..530fbc3 100644
--- a/test/message/types.cpp
+++ b/test/message/types.cpp
@@ -84,6 +84,17 @@
               sdbusplus::message::object_path("/abc"));
 }
 
+TEST(MessageTypes, ObjectPathOperatorSlashEqual)
+{
+    sdbusplus::message::object_path path("/");
+    path /= "abc";
+    ASSERT_EQ(path, sdbusplus::message::object_path("/abc"));
+
+    sdbusplus::message::object_path path2("/");
+    path2 /= std::string("def");
+    ASSERT_EQ(path2, sdbusplus::message::object_path("/def"));
+}
+
 TEST(MessageTypes, Signature)
 {
     ASSERT_EQ(dbus_string(sdbusplus::message::signature("sss")), "g");
