Heartbeat not reaching servlet

I’m running vaadin 7.7.6 on tomcat 8.5.8. I have transport mode WEBSOCKET_XHR for push.
I have two different UI classes. I am tracking the heartbeats. The heartbeat of the working UI is reaching the service method of the VaadinServlet but the heartbeat of the non working UI is not reaching the VaadinServlet. When debugging into the tomcat container the request is lost somewhere before it reaches the VaadinServlet. But as I said, ONLY for one of the UI classes and they are configured the same (in relevant aspects)
the non working ui is detached after 3 missed heartbeats, as expected. Why are the heartbeats lost

I used the ?debug=push and noticed this difference between the two UIs
Wokring UI: “Communication method: Client to server: XHR, server to client: websocket”
Non working UI: “Communication method: Client to server: XHR, server to client: -”

This also appear in the client console:
Response didn’t contain a server id. Please verify that the server is up-to-date and that the response data has not been modified in transmission."