diff --git a/package.json b/package.json
index c5fb38857b618733d37bc27d9f139035a59b112f..acf247c05ee4cc32070b15aff9be93c11784c6e5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "usp-js",
-  "version": "0.1.13",
+  "version": "0.1.14",
   "description": "Helper library for easy usp communication using mqtt over tcp or ws.",
   "main": "build/src/index.js",
   "scripts": {
diff --git a/src/commands/set.ts b/src/commands/set.ts
index f509ff932afcc81fe5b4bb2f56229266d6a355fd..290d61420fbe2cf50510b3f3650df1d72de628c4 100644
--- a/src/commands/set.ts
+++ b/src/commands/set.ts
@@ -19,7 +19,7 @@ const encode: EncodeFn = ({ value, path: initialPath }) => {
           : [k, v.toString(), false]
       )
     : [[attr, value]];
-  const path = isObj ? initialPath : initialPath.replace(attr, "");
+  const path = initialPath.endsWith(".") ? initialPath : initialPath.slice(0, initialPath.lastIndexOf('.') + 1);
 
   return {
     lookup: "Msg",