738028
diff --git a/programs/pluto/hostpair.c b/programs/pluto/hostpair.c
738028
index 9b14341..e3afecd 100644
738028
--- a/programs/pluto/hostpair.c
738028
+++ b/programs/pluto/hostpair.c
738028
@@ -284,7 +284,8 @@ void release_dead_interfaces(void)
738028
 					 */
738028
 					passert(p == *pp);
738028
 
738028
-					p->interface = NULL;
738028
+					terminate_connection(p->name);
738028
+					p->interface = NULL; /* withdraw orientation */
738028
 
738028
 					*pp = p->hp_next; /* advance *pp */
738028
 					p->host_pair = NULL;
738028
diff --git a/programs/pluto/initiate.c b/programs/pluto/initiate.c
738028
index 056af59..eed8bf3 100644
738028
--- a/programs/pluto/initiate.c
738028
+++ b/programs/pluto/initiate.c
738028
@@ -119,6 +119,7 @@ bool orient(struct connection *c)
738028
 									c->name, c->interface->ip_dev->id_rname,
738028
 									p->ip_dev->id_rname);
738028
 							}
738028
+							terminate_connection(c->name);
738028
 							c->interface = NULL; /* withdraw orientation */
738028
 							return FALSE;
738028
 						}