diff --git a/changelog b/changelog
index cd789c39b7400203293fc0a2d613828940c616d6..19db24a8823f7ef00317df36261c4327068f0812 100644
--- a/changelog
+++ b/changelog
@@ -78,6 +78,10 @@ User api removals
  	and have been removed.  There's a new header management scheme that
 	handles them in a much more compact way.
 
+ - libwebsockets_hangup_on_client() is removed.  If you want to close the
+ 	connection you must do so from the user callback and by returning
+	-1 from there.
+
 
 New features
 ------------
diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c
index c905d832b60b1a36b7ad2323bab3a9171f082111..6afec96da33c5408c37f5a89d7b8fadbeb4bf933 100644
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -423,27 +423,6 @@ just_kill_connection:
 	free(wsi);
 }
 
-/**
- * libwebsockets_hangup_on_client() - Server calls to terminate client
- *					connection
- * @context:	libwebsockets context
- * @fd:		Connection socket descriptor
- */
-
-void
-libwebsockets_hangup_on_client(struct libwebsocket_context *context, int fd)
-{
-	struct libwebsocket *wsi = context->lws_lookup[fd];
-
-	if (wsi) {
-		lwsl_info("close connection at hangup_on_client:\n");
-		libwebsocket_close_and_free_session(context,
-			wsi, LWS_CLOSE_STATUS_NOSTATUS);
-	} else
-		close(fd);
-}
-
-
 /**
  * libwebsockets_get_peer_addresses() - Get client address information
  * @context:	Libwebsockets context
diff --git a/lib/libwebsockets.h b/lib/libwebsockets.h
index 3a37b4fee7237424cbf2aac7494f2aa6d04c3d89..db95fe88f47c808e027a99a4abb6d9ec8f29af0c 100644
--- a/lib/libwebsockets.h
+++ b/lib/libwebsockets.h
@@ -917,9 +917,6 @@ libwebsockets_get_peer_addresses(struct libwebsocket_context *context,
 		struct libwebsocket *wsi, int fd, char *name, int name_len,
 					char *rip, int rip_len);
 
-LWS_EXTERN void
-libwebsockets_hangup_on_client(struct libwebsocket_context *context, int fd);
-
 LWS_EXTERN void
 libwebsocket_close_and_free_session(struct libwebsocket_context *context,
 			       struct libwebsocket *wsi, enum lws_close_status);
diff --git a/libwebsockets-api-doc.html b/libwebsockets-api-doc.html
index 5839ac993e636a2029e350843fc64f63733755a9..17d9e5bcef1c767de2692dba724b3ae9bc130fde 100644
--- a/libwebsockets-api-doc.html
+++ b/libwebsockets-api-doc.html
@@ -102,19 +102,6 @@ representing the library version followed by the git head hash it
 was built from
 </blockquote>
 <hr>
-<h2>libwebsockets_hangup_on_client - Server calls to terminate client connection</h2>
-<i>void</i>
-<b>libwebsockets_hangup_on_client</b>
-(<i>struct libwebsocket_context *</i> <b>context</b>,
-<i>int</i> <b>fd</b>)
-<h3>Arguments</h3>
-<dl>
-<dt><b>context</b>
-<dd>libwebsockets context
-<dt><b>fd</b>
-<dd>Connection socket descriptor
-</dl>
-<hr>
 <h2>libwebsockets_get_peer_addresses - Get client address information</h2>
 <i>void</i>
 <b>libwebsockets_get_peer_addresses</b>