demonitor before killing the worker

diff --git a/src/rexi_server.erl b/src/rexi_server.erl
index f45ca4f..127e088 100644
--- a/src/rexi_server.erl
+++ b/src/rexi_server.erl
@@ -27,6 +27,7 @@
 handle_cast({kill, Ref}, #st{workers=Workers} = St) ->
     case find_worker(Ref, Workers) of
     {Pid, Ref, _} ->
+        erlang:demonitor(Ref),
         exit(Pid, kill);
     false -> ok end,
     {noreply, St#st{workers = remove_worker(Ref, Workers)}}.