diff --git a/sway/input/text_input.c b/sway/input/text_input.c
index f3fca68e6..551d65861 100644
--- a/sway/input/text_input.c
+++ b/sway/input/text_input.c
@@ -297,6 +297,9 @@ void sway_input_method_relay_set_focus(struct sway_input_method_relay *relay,
 			if (surface != text_input->input->focused_surface) {
 				relay_disable_text_input(relay, text_input);
 				wlr_text_input_v3_send_leave(text_input->input);
+			} else {
+				sway_log(SWAY_DEBUG, "IM relay set_focus already focused");
+				continue;
 			}
 		}