diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c
index e2d08f945eb4792402cdcaf2fb2e09443291ec04..d25e51fd6ea5d7583c8381d1f3bb863bd0df1b3f 100755
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -341,7 +341,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;
 		}