diff --git a/controller/nucleus/networkElementWatcher.go b/controller/nucleus/networkElementWatcher.go
index 672574d90a8a18a1020ea7195119b3c2b6f208f9..451f4ab4b60d9a551d43407124dac644df17fec8 100644
--- a/controller/nucleus/networkElementWatcher.go
+++ b/controller/nucleus/networkElementWatcher.go
@@ -4,7 +4,6 @@ import (
 	"context"
 	"fmt"
 	"strconv"
-	"strings"
 
 	"code.fbi.h-da.de/danet/gosdn/controller/customerrs"
 	"code.fbi.h-da.de/danet/gosdn/controller/event"
@@ -15,6 +14,7 @@ import (
 	"code.fbi.h-da.de/danet/gosdn/forks/goarista/gnmi"
 	"github.com/google/uuid"
 	gpb "github.com/openconfig/gnmi/proto/gnmi"
+	"github.com/openconfig/ygot/ygot"
 	log "github.com/sirupsen/logrus"
 )
 
@@ -184,15 +184,22 @@ func (n *NetworkElementWatcher) handleSubscribeResponseUpdate(resp *gpb.Subscrib
 	pathsAndValues := make(map[string]string, len(resp.Update.Update))
 
 	for _, update := range resp.Update.Update {
-		pathString := ""
+		//pathString := ""
 
-		// go through elem to build full path
-		for _, elem := range update.Path.Elem {
-			// remove unwanted parts of path string example: "name:\"system\"" -> "system"
-			filteredElem := elem.String()[strings.Index(elem.String(), ":\"")+2 : len(elem.String())-1]
-			pathString += filteredElem + "/"
+		pathString, err := ygot.PathToString(update.Path)
+		if err != nil {
+			log.Errorf("Error trying to create a string from path: %v", err)
 		}
 
+		log.Info("Generated path string, used as key in pathAndValues map: ", pathString)
+
+		//// go through elem to build full path
+		//for _, elem := range update.Path.Elem {
+		//	// remove unwanted parts of path string example: "name:\"system\"" -> "system"
+		//	filteredElem := elem.String()[strings.Index(elem.String(), ":\"")+2 : len(elem.String())-1]
+		//	pathString += filteredElem + "/"
+		//}
+
 		pathsAndValues[pathString] = update.Val.GetStringVal()
 	}