diff --git a/controller/interfaces/networkdomain/pnd.go b/controller/interfaces/networkdomain/pnd.go
index d64ae2386bbeb8e65e08d5824247b859b6b77c07..750cd46ff1f4b0684c84fe91486618e35daad3a9 100644
--- a/controller/interfaces/networkdomain/pnd.go
+++ b/controller/interfaces/networkdomain/pnd.go
@@ -36,5 +36,5 @@ type NetworkDomain interface {
 	Commit(uuid.UUID) error
 	Confirm(uuid.UUID) error
 	SubscribePath(uuid.UUID, *ppb.SubscriptionList) error
-	UpdateONDAfterSubscribeResponse(device.Device) error
+	UpdateDeviceAfterSubscribeResponse(device.Device) error
 }
diff --git a/controller/mocks/NetworkDomain.go b/controller/mocks/NetworkDomain.go
index b8916ecaf5b6f7ac2eb26d8caf0fde3e6a044126..c4c289f1abcaed9dfbbc263fbc46a095394f445e 100644
--- a/controller/mocks/NetworkDomain.go
+++ b/controller/mocks/NetworkDomain.go
@@ -431,8 +431,8 @@ func (_m *NetworkDomain) UpdateDevice(_a0 device.Device, _a1 string) error {
 	return r0
 }
 
-// UpdateONDAfterSubscribeResponse provides a mock function with given fields: _a0
-func (_m *NetworkDomain) UpdateONDAfterSubscribeResponse(_a0 device.Device) error {
+// UpdateDeviceAfterSubscribeResponse provides a mock function with given fields: _a0
+func (_m *NetworkDomain) UpdateDeviceAfterSubscribeResponse(_a0 device.Device) error {
 	ret := _m.Called(_a0)
 
 	var r0 error
diff --git a/controller/nucleus/deviceWatcher.go b/controller/nucleus/deviceWatcher.go
index 8442a004ec92eb98574403150857eeade1270ca0..de7f135afb62ca2fab0f69d823985acd3e246b38 100644
--- a/controller/nucleus/deviceWatcher.go
+++ b/controller/nucleus/deviceWatcher.go
@@ -63,12 +63,12 @@ func (d *DeviceWatcher) SubToDevices(paths [][]string, opts *gnmi.SubscribeOptio
 	}
 
 	for _, pnd := range pnds {
-		d.subscribeToPndDevices(pnd.ID().String(), pnd.Devices(), opts)
+		d.subscribeToPndDevices(pnd.ID().String(), pnd, opts)
 	}
 }
 
-func (d *DeviceWatcher) subscribeToPndDevices(pndID string, devices []device.Device, opts *gnmi.SubscribeOptions) {
-	for _, device := range devices {
+func (d *DeviceWatcher) subscribeToPndDevices(pndID string, pnd networkdomain.NetworkDomain, opts *gnmi.SubscribeOptions) {
+	for _, device := range pnd.Devices() {
 		subID := uuid.New()
 
 		stopContext, cancel := context.WithCancel(context.Background())
@@ -161,7 +161,7 @@ func (d *DeviceWatcher) handleSubscribeResponseUpdate(resp *gpb.SubscribeRespons
 	if err != nil {
 		log.Error(err)
 	} else {
-		if err := pnd.UpdateONDAfterSubscribeResponse(device); err != nil {
+		if err := pnd.UpdateDeviceAfterSubscribeResponse(device); err != nil {
 			log.Error(err)
 		}
 	}
diff --git a/controller/nucleus/principalNetworkDomain.go b/controller/nucleus/principalNetworkDomain.go
index 190741b63513b3394b6e0f2c672897dc9c62d930..566d6623b37017bf8f63f2c903c6ec715a09279c 100644
--- a/controller/nucleus/principalNetworkDomain.go
+++ b/controller/nucleus/principalNetworkDomain.go
@@ -926,7 +926,7 @@ func (pnd *pndImplementation) MarshalBSON() ([]byte, error) {
 }
 
 // UpdateONDAfterSubscribeResponse takes a device and forwards it to the device service to handle the update.
-func (pnd *pndImplementation) UpdateONDAfterSubscribeResponse(device device.Device) error {
+func (pnd *pndImplementation) UpdateDeviceAfterSubscribeResponse(device device.Device) error {
 	if err := pnd.deviceService.Update(device); err != nil {
 		return err
 	}