diff --git a/internal/bbsim/alarmsim/alarmsim.go b/internal/bbsim/alarmsim/alarmsim.go
index adc304b..4b52b3e 100644
--- a/internal/bbsim/alarmsim/alarmsim.go
+++ b/internal/bbsim/alarmsim/alarmsim.go
@@ -224,7 +224,6 @@
 		Type: types.AlarmIndication,
 		Data: alarmIndication,
 	}
-
 	channel <- msg
 
 	return nil
diff --git a/internal/bbsim/devices/olt.go b/internal/bbsim/devices/olt.go
index a8067cd..04a8632 100644
--- a/internal/bbsim/devices/olt.go
+++ b/internal/bbsim/devices/olt.go
@@ -364,7 +364,7 @@
 		}
 	}
 
-	time.Sleep(1 * time.Second) // we need to give the OLT the time to respond to all the pending gRPC request before stopping the server
+	time.Sleep(5 * time.Second) // we need to give the OLT the time to respond to all the pending gRPC request before stopping the server
 	o.StopOltServer()
 
 	// terminate the OLT's processOltMessages go routine
@@ -922,10 +922,12 @@
 }
 
 // GRPC Endpoints
-
 func (o *OltDevice) ActivateOnu(context context.Context, onu *openolt.Onu) (*openolt.Empty, error) {
 
-	pon, _ := o.GetPonById(onu.IntfId)
+	pon, err := o.GetPonById(onu.IntfId)
+	if err != nil {
+		return new(openolt.Empty), err
+	}
 
 	// Enable the resource maps for this ONU
 	olt.AllocIDsLock.Lock()
diff --git a/internal/bbsim/devices/onu.go b/internal/bbsim/devices/onu.go
index 57b3aa0..95ade6d 100644
--- a/internal/bbsim/devices/onu.go
+++ b/internal/bbsim/devices/onu.go
@@ -707,6 +707,17 @@
 func (o *Onu) HandlePowerOnONU() error {
 	intitalState := o.InternalState.Current()
 
+	// Do not send discovery if OLT is in Deleted state
+	oltState := o.PonPort.Olt.InternalState.Current()
+	if oltState == "deleted" {
+		onuLogger.WithFields(log.Fields{
+			"OnuId":  o.ID,
+			"IntfId": o.PonPortID,
+			"OnuSn":  o.Sn(),
+		}).Errorf("Cannot poweron ONU. oltState: %s", oltState)
+		return nil
+	}
+
 	// initialize the ONU
 	if intitalState == OnuStateCreated || intitalState == OnuStateDisabled {
 		if err := o.InternalState.Event(OnuTxInitialize); err != nil {
@@ -1838,7 +1849,15 @@
 		"OnuId":  onu.ID,
 		"OnuSn":  onu.Sn(),
 	}).Debug("Send ONU Re-Discovery")
-	if onu.InternalState.Current() != OnuStateDiscovered {
+	// Do not send discovery if OLT is in Deleted state
+	oltState := onu.PonPort.Olt.InternalState.Current()
+	if oltState == "deleted" {
+		onuLogger.WithFields(log.Fields{
+			"IntfId": onu.PonPortID,
+			"OnuId":  onu.ID,
+			"OnuSn":  onu.Sn(),
+		}).Infof("Skip ONU Re-Discovery. oltState=%s", oltState)
+	} else if onu.InternalState.Current() != OnuStateDiscovered {
 		// ONU Re-Discovery
 		if err := onu.InternalState.Event(OnuTxInitialize); err != nil {
 			log.WithFields(log.Fields{
