diff --git a/controller/nucleus/gnmi_transport.go b/controller/nucleus/gnmi_transport.go
index 4aca2868ec33ff9734158a95d366e1d74d7eadfc..4d8b0049608b93dce1f5748ca56f0657c1d68fad 100644
--- a/controller/nucleus/gnmi_transport.go
+++ b/controller/nucleus/gnmi_transport.go
@@ -259,8 +259,7 @@ func (g *Gnmi) ProcessControlPlaneSubscribeResponse(resp *gpb.SubscribeResponse_
 	}
 	//TODO: maybe remove and combine into one function/method!
 	if err := g.processResponseDeletes(notification.Delete, dModel, schema); err != nil {
-		log.Error(err)
-		//TODO: return err here after implementation!
+		return err
 	}
 
 	return nil
@@ -308,13 +307,18 @@ func handleProcessResponseErrors(errs []error) error {
 
 func (g *Gnmi) processResponseDeletes(deletes []*gpb.Path, root ygot.ValidatedGoStruct, s *ytypes.Schema) error {
 	errs := make([]error, 0)
-	_ = errs
+
+	for _, path := range deletes {
+		if err := ytypes.DeleteNode(s.RootSchema(), root, path); err != nil {
+			errs = append(errs, err)
+		}
+	}
 
 	if len(errs) != 0 {
 		return handleProcessResponseErrors(errs)
 	}
 
-	return errors.ErrNotYetImplemented{}
+	return nil
 }
 
 // Capabilities calls GNMI capabilities