diff --git a/sql/sql_repl.cc b/sql/sql_repl.cc
index 8518747..dbf1fac 100644
--- a/sql/sql_repl.cc
+++ b/sql/sql_repl.cc
@@ -2401,9 +2401,13 @@ static int wait_new_events(binlog_send_info *info,         /* in */
             sql_print_information("the rest of heartbeat info skipped ...");
         }
 #endif
-        if (send_heartbeat_event(info,
-                                 info->net, info->packet, &coord,
-                                 info->current_checksum_alg))
+        mysql_bin_log.unlock_binlog_end_pos();
+        ret= send_heartbeat_event(info,
+                                  info->net, info->packet, &coord,
+                                  info->current_checksum_alg);
+        mysql_bin_log.lock_binlog_end_pos();
+
+        if (ret)
         {
           ret= 1; // error
           break;
