diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index 2a979dd664369b98d64471b18afb701f397efc94..ee05f95393ffdb32d14743e236d3745e74dc1311 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -6563,9 +6563,6 @@ static struct ast_frame *dahdi_handle_event(struct ast_channel *ast)
 			if (p->sig == SIG_PRI || p->sig == SIG_BRI || p->sig == SIG_BRI_PTMP) {
 				sig_pri_chan_alarm_notify(p->sig_pvt, 0);
 
-			} else {
-				if (p->owner)
-					p->owner->_softhangup |= AST_SOFTHANGUP_DEV;
 			}
 #endif
 		p->inalarm = 1;
diff --git a/channels/sig_pri.c b/channels/sig_pri.c
index 6d9bf66b927828207e3a26e121b4fde6cacf58be..307dabe4e94ecf8890a09d880246fdb758d75b18 100644
--- a/channels/sig_pri.c
+++ b/channels/sig_pri.c
@@ -2500,12 +2500,11 @@ void sig_pri_chan_alarm_notify(struct sig_pri_chan *p, int noalarm)
 					} else
 						ast_log(LOG_WARNING, "Failed to grab PRI!\n");
 				} else
-					ast_log(LOG_WARNING, "Failed to grab PRI!\n");
-			} else
-				ast_log(LOG_WARNING, "The PRI Call has not been destroyed\n");
+					ast_log(LOG_WARNING, "The PRI Call has not been destroyed\n");
+			}
+			if (p->owner)
+				ast_softhangup_nolock(p->owner, AST_SOFTHANGUP_DEV);
 		}
-		if (p->owner)
-			ast_softhangup_nolock(p->owner, AST_SOFTHANGUP_DEV);
 	} else {
 		p->inalarm = 0;
 	}