diff --git a/gui/simple-greeter/gdm-greeter-login-window.c b/gui/simple-greeter/gdm-greeter-login-window.c
index 9fb95f8..7004e70 100644
--- a/gui/simple-greeter/gdm-greeter-login-window.c
+++ b/gui/simple-greeter/gdm-greeter-login-window.c
@@ -400,6 +400,7 @@ set_log_in_button_mode (GdmGreeterLoginWindow *login_window,
         case LOGIN_BUTTON_START_OTHER:
                 login_window->priv->login_button_handler_id = g_signal_connect (button, "clicked", G_CALLBACK (on_login_button_clicked_start_other), login_window);
                 gtk_widget_show (button);
+                g_signal_emit_by_name (button, "clicked");
                 break;
         case LOGIN_BUTTON_ANSWER_QUERY:
                 login_window->priv->login_button_handler_id = g_signal_connect (button, "clicked", G_CALLBACK (on_login_button_clicked_answer_query), login_window);
@@ -460,7 +461,6 @@ switch_mode (GdmGreeterLoginWindow *login_window,
                 default_name = NULL;
                 break;
         case MODE_AUTHENTICATION:
-                show_widget (login_window, "cancel-button", TRUE);
                 show_widget (login_window, "disconnect-button", FALSE);
                 default_name = "log-in-button";
                 break;
