diff --git a/northbound/server/pnd.go b/northbound/server/pnd.go
index 9d6f71ad83b681330052b6f4ecaafa4a97cc8e25..29dbc674dd4237be50dc4194fc543d25d6acde61 100644
--- a/northbound/server/pnd.go
+++ b/northbound/server/pnd.go
@@ -121,10 +121,18 @@ func fillOnds(pnd networkdomain.NetworkDomain, all bool, did ...string) ([]*ppb.
 			log.Error(err)
 			return nil, status.Errorf(codes.Aborted, "%v", err)
 		}
+
+		sbi := spb.SouthboundInterface{}
+		if d.SBI() != nil {
+			sbi.Id = d.SBI().ID().String()
+			sbi.Type = d.SBI().Type()
+		}
+
 		onds[i] = &ppb.OrchestratedNetworkingDevice{
 			Id:     id,
 			Name:   d.Name(),
 			Device: dev,
+			Sbi:    &sbi,
 		}
 	}
 
diff --git a/nucleus/principalNetworkDomain.go b/nucleus/principalNetworkDomain.go
index 3492e1c70990ab0b125c264275b42127515075cd..6a5f7b0bc94bdc1a4b5df4f83c37ff278123003e 100644
--- a/nucleus/principalNetworkDomain.go
+++ b/nucleus/principalNetworkDomain.go
@@ -216,7 +216,7 @@ func (pnd *pndImplementation) GetDevice(identifier string) (device.Device, error
 		return nil, err
 	}
 
-	copiedDevice := &CommonDevice{name: d.Name(), UUID: d.ID(), GoStruct: copiedGoStruct}
+	copiedDevice := &CommonDevice{name: d.Name(), UUID: d.ID(), GoStruct: copiedGoStruct, sbi: d.SBI()}
 
 	return copiedDevice, nil
 }