diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 41c75a2b8cae5c2987e7441d12f21c2a85d932f0..6587a30048886eeacb7afdf1ad07f189830587ce 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -2614,6 +2614,7 @@ connection_exit_connect(edge_connection_t *edge_conn)
       connection_edge_end(edge_conn, END_STREAM_REASON_INTERNAL);
       circuit_detach_stream(circuit_get_by_edge_conn(edge_conn), edge_conn);
       connection_free(conn);
+      return;
     }
 
     connection_edge_send_command(edge_conn,