move heartbeat check to only occur on timeouts

As suggested -- good point