diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c
index dc4aa5f4c231ace2dcbed7c1213b376666cb8fa2..cef68bd5f34d314f9ecbe5a95a3025519acda14d 100755
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -264,7 +264,7 @@ lws_close_free_wsi(struct lws *wsi, enum lws_close_status reason)
 		if (!wsi->u.ws.close_in_ping_buffer_len) {
 			wsi->u.ws.close_in_ping_buffer_len = 2;
 			wsi->u.ws.ping_payload_buf[LWS_PRE] =
-				(reason >> 16) & 0xff;
+                               (reason >> 8) & 0xff;
 			wsi->u.ws.ping_payload_buf[LWS_PRE + 1] =
 				reason & 0xff;
 		}