diff --git a/lib/src/main/java/de/kuschku/libquassel/session/HeartBeatThread.kt b/lib/src/main/java/de/kuschku/libquassel/session/HeartBeatThread.kt
index cd33b4021a6e9c3b9fc1dbc5bc746dd1f3f44ba4..b5661f80020a90823195442581cbbbfef29938d6 100644
--- a/lib/src/main/java/de/kuschku/libquassel/session/HeartBeatThread.kt
+++ b/lib/src/main/java/de/kuschku/libquassel/session/HeartBeatThread.kt
@@ -11,7 +11,6 @@ class HeartBeatThread(private val session: Session) : Thread() {
   private var lastHeartBeatReply: Instant = Instant.now()
   override fun run() {
     while (running) {
-      Thread.sleep(30_000)
       val now = Instant.now()
       val duration = Duration.between(lastHeartBeatReply, now).toMillis()
       if (duration > TIMEOUT) {
@@ -21,6 +20,7 @@ class HeartBeatThread(private val session: Session) : Thread() {
         log(INFO, "Heartbeat", "Sending Heartbeat")
         session.dispatch(SignalProxyMessage.HeartBeat(now))
       }
+      Thread.sleep(30_000)
     }
   }