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 a87fdea3e64bb5f532c9017e11f5950943155932..49792756d32d88a53dba0dfbe8eda90b22e40a6b 100644
--- a/nucleus/principalNetworkDomain.go
+++ b/nucleus/principalNetworkDomain.go
@@ -217,7 +217,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
 }