diff --git a/Makefile b/Makefile
index 390b43b..7e7c90e 100644
--- a/Makefile
+++ b/Makefile
@@ -98,6 +98,7 @@
 
 docker-build: local-omci-lib-go local-protos# @HELP Build the BBSim docker container (contains BBSimCtl too)
 	docker build \
+	  --platform linux/x86_64 \
 	  -t ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}bbsim:${DOCKER_TAG} \
 	  -f build/package/Dockerfile .
 
diff --git a/VERSION b/VERSION
index 456e5c4..41c8a73 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.12.6
+1.12.7
diff --git a/internal/bbsim/devices/olt.go b/internal/bbsim/devices/olt.go
index 9178491..4d83018 100644
--- a/internal/bbsim/devices/olt.go
+++ b/internal/bbsim/devices/olt.go
@@ -342,6 +342,7 @@
 				oltLogger.WithFields(log.Fields{
 					"oltId": o.ID,
 					"onuId": onu.ID,
+					"OnuSn": onu.Sn(),
 				}).Errorf("Error disabling ONUs on OLT reboot: %v", err)
 			}
 		}
diff --git a/internal/bbsim/devices/onu.go b/internal/bbsim/devices/onu.go
index 593be6a..bbed5d6 100644
--- a/internal/bbsim/devices/onu.go
+++ b/internal/bbsim/devices/onu.go
@@ -288,12 +288,26 @@
 
 				// disable the UNI ports
 				for _, uni := range o.UniPorts {
-					_ = uni.Disable()
+					if err := uni.Disable(); err != nil {
+						onuLogger.WithFields(log.Fields{
+							"onuId": o.ID,
+							"OnuSn": o.Sn(),
+							"UniId": uni.GetID(),
+							"err":   err,
+						}).Error("failed-to-disable-uni-port")
+					}
 				}
 
 				// disable the POTS UNI ports
 				for _, pots := range o.PotsPorts {
-					_ = pots.Disable()
+					if err := pots.Disable(); err != nil {
+						onuLogger.WithFields(log.Fields{
+							"onuId": o.ID,
+							"OnuSn": o.Sn(),
+							"UniId": pots.GetID(),
+							"err":   err,
+						}).Error("failed-to-disable-pots-port")
+					}
 				}
 
 				// verify all the flows removes are handled and
diff --git a/internal/bbsim/devices/pots_port.go b/internal/bbsim/devices/pots_port.go
index 820f723..a506640 100644
--- a/internal/bbsim/devices/pots_port.go
+++ b/internal/bbsim/devices/pots_port.go
@@ -38,6 +38,7 @@
 )
 
 type PotsPortIf interface {
+	GetID() uint32
 	Enable() error
 	Disable() error
 }
@@ -105,20 +106,24 @@
 	return &pots, nil
 }
 
-func (u *PotsPort) StorePortNo(portNo uint32) {
-	u.PortNo = portNo
-	u.logger.WithFields(log.Fields{
+func (p *PotsPort) GetID() uint32 {
+	return p.ID
+}
+
+func (p *PotsPort) StorePortNo(portNo uint32) {
+	p.PortNo = portNo
+	p.logger.WithFields(log.Fields{
 		"PortNo": portNo,
 	}).Debug("logical-port-number-added-to-pots")
 }
 
-func (u *PotsPort) Enable() error {
-	return u.OperState.Event(potsTxEnable)
+func (p *PotsPort) Enable() error {
+	return p.OperState.Event(potsTxEnable)
 }
 
-func (u *PotsPort) Disable() error {
-	if u.OperState.Is(PotsStateDown) {
+func (p *PotsPort) Disable() error {
+	if p.OperState.Is(PotsStateDown) {
 		return nil
 	}
-	return u.OperState.Event(potsTxDisable)
+	return p.OperState.Event(potsTxDisable)
 }
diff --git a/internal/bbsim/devices/uni_port.go b/internal/bbsim/devices/uni_port.go
index 55d07cc..4aa1c65 100644
--- a/internal/bbsim/devices/uni_port.go
+++ b/internal/bbsim/devices/uni_port.go
@@ -44,6 +44,7 @@
 )
 
 type UniPortIf interface {
+	GetID() uint32
 	StorePortNo(portNo uint32)
 	UpdateStream(stream bbsimTypes.Stream)
 	Enable() error
@@ -192,6 +193,10 @@
 	return &uni, nil
 }
 
+func (u *UniPort) GetID() uint32 {
+	return u.ID
+}
+
 func (u *UniPort) StorePortNo(portNo uint32) {
 	u.PortNo = portNo
 	u.logger.WithFields(log.Fields{
