diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index ba15b93a6809c1c8ea6c72da03037ebf9ea3442d..89cbf67f73c0f7cfe4c8df345a1ec8e5e2476ed8 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -5135,7 +5135,6 @@ static int misdn_set_opt_exec(struct ast_channel *chan, void *data)
 				chan_misdn_log(1, ch->bc->port, "SETOPT: HDLC \n");
 				if (!ch->bc->hdlc) {
 					ch->bc->hdlc = 1;
-					misdn_lib_setup_bc(ch->bc);
 				}
 			}
 			ch->bc->capability = INFO_CAPABILITY_DIGITAL_UNRESTRICTED;
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index f1de82b7fc58596820a831dcb922e5dc84315cb6..078c6b79e54e027595abe741386f74ddef282ba2 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -3273,6 +3273,8 @@ int misdn_lib_send_event(struct misdn_bchannel *bc, enum event_e event )
 	case EVENT_ALERTING:
 	case EVENT_PROCEEDING:
 	case EVENT_SETUP_ACKNOWLEDGE:
+		if (!stack->nt) break;
+
 	case EVENT_CONNECT:
 	case EVENT_RETRIEVE_ACKNOWLEDGE: