diff --git a/res/res_http_websocket.c b/res/res_http_websocket.c
index 956ed0a516090e577d653ec45a68d0bfb3fbb4ff..a29daa8ffafc8f63fdf6501e66d07abb23b3a276 100644
--- a/res/res_http_websocket.c
+++ b/res/res_http_websocket.c
@@ -169,9 +169,11 @@ static void session_destroy_fn(void *obj)
 
 	if (session->f) {
 		ast_websocket_close(session, 0);
-		fclose(session->f);
-		ast_verb(2, "WebSocket connection %s '%s' closed\n", session->client ? "to" : "from",
-			ast_sockaddr_stringify(&session->address));
+		if (session->f) {
+			fclose(session->f);
+			ast_verb(2, "WebSocket connection %s '%s' closed\n", session->client ? "to" : "from",
+				ast_sockaddr_stringify(&session->address));
+		}
 	}
 
 	ao2_cleanup(session->client);