diff --git a/lib/libev.c b/lib/libev.c
index 43c53d96a52afce6bf3f3a63acbd1580629495aa..8b33ed7182b7525d6641180f318ac761fee4a6df 100644
--- a/lib/libev.c
+++ b/lib/libev.c
@@ -84,6 +84,8 @@ lws_ev_initloop(struct lws_context *context, struct ev_loop *loop, int tsi)
 
 	if (!loop)
 		loop = ev_loop_new(0);
+	else
+		context->pt[tsi].ev_loop_foreign = 1;
 
 	context->pt[tsi].io_loop_ev = loop;