diff --git a/composer/e-msg-composer.c b/composer/e-msg-composer.c
index 48410f8..8f74bad 100644
--- a/composer/e-msg-composer.c
+++ b/composer/e-msg-composer.c
@@ -2171,7 +2171,7 @@ msg_composer_map (GtkWidget *widget)
 		e_composer_header_table_get_header (
 		table, E_COMPOSER_HEADER_TO)->input_widget;
 	text = gtk_entry_get_text (GTK_ENTRY (input_widget));
-	if (text == NULL || *text == '\0') {
+	if (gtk_widget_get_visible (input_widget) && (text == NULL || *text == '\0')) {
 		gtk_widget_grab_focus (input_widget);
 		return;
 	}
@@ -2181,7 +2181,7 @@ msg_composer_map (GtkWidget *widget)
 		e_composer_header_table_get_header (
 		table, E_COMPOSER_HEADER_SUBJECT)->input_widget;
 	text = gtk_entry_get_text (GTK_ENTRY (input_widget));
-	if (text == NULL || *text == '\0') {
+	if (gtk_widget_get_visible (input_widget) && (text == NULL || *text == '\0')) {
 		gtk_widget_grab_focus (input_widget);
 		return;
 	}
