diff --git a/controller/nucleus/gnmi_transport.go b/controller/nucleus/gnmi_transport.go
index 6cef34e319a0c69c3c2e3768839d3d96c56f7688..d430a392e0ea313f2ce201434ff3dd8894016bee 100644
--- a/controller/nucleus/gnmi_transport.go
+++ b/controller/nucleus/gnmi_transport.go
@@ -257,12 +257,18 @@ func (g *Gnmi) ProcessControlPlaneSubscribeResponse(resp *gpb.SubscribeResponse_
 	}
 
 	notification := resp.Update
-	if err := g.processResponseUpdates(notification.Update, dModel, root.(ygot.ValidatedGoStruct), schema); err != nil {
-		return err
+
+	if len(notification.Update) > 0 {
+		if err := g.processResponseUpdates(notification.Update, dModel, root.(ygot.ValidatedGoStruct), schema); err != nil {
+			return err
+		}
 	}
+
 	//TODO: maybe remove and combine into one function/method!
-	if err := g.processResponseDeletes(notification.Delete, dModel, schema); err != nil {
-		return err
+	if len(notification.Delete) > 0 {
+		if err := g.processResponseDeletes(notification.Delete, dModel, schema); err != nil {
+			return err
+		}
 	}
 
 	return nil