When host/port process dies, ets table is not cleaned up, which breaks all subsequent connections to this host/port.
diff --git a/src/ibrowse_lb.erl b/src/ibrowse_lb.erl
index f5a9aef..aa381a4 100644
--- a/src/ibrowse_lb.erl
+++ b/src/ibrowse_lb.erl
@@ -216,7 +216,10 @@
 %% Description: Shutdown the server
 %% Returns: any (ignored by gen_server)
 %%--------------------------------------------------------------------
-terminate(_Reason, _State) ->
+terminate(_Reason, #state{host = Host, port = Port}) ->
+    % Use delete_object instead of delete in case another process for this host/port
+    % has been spawned, in which case will be deleting the wrong record because pid won't match.
+    ets:delete_object(ibrowse_lb, #lb_pid{host_port = {Host, Port}, pid = self()}),
     ok.
 
 %%--------------------------------------------------------------------