=== modified file 'src/empathy-indicator-manager.c'
--- src/empathy-indicator-manager.c	2010-04-09 19:26:13 +0000
+++ src/empathy-indicator-manager.c	2010-04-09 20:30:53 +0000
@@ -450,19 +450,26 @@
   GSource *timeout;
   EmpathyIndicator *e_indicator;
   LoginData *login_data;
-
-  priv = GET_PRIV (manager);
-  e_indicator = empathy_indicator_new (contact, NULL, "login");
-  login_data = login_data_new (e_indicator, manager);
-
-  timeout = g_timeout_source_new_seconds (INDICATOR_LOGIN_TIMEOUT);
-  g_source_set_callback (timeout, indicate_login_timeout, login_data,
-      indicator_destroy_login_data);
-  g_source_attach (timeout, NULL);
-
-  g_hash_table_insert (priv->login_timeouts, e_indicator, timeout);
-
-  g_signal_connect (e_indicator, "activate",
-      G_CALLBACK (indicate_login_cb), manager);
-  empathy_indicator_show (e_indicator);
+  gboolean contact_signon_notifications = FALSE;
+
+  empathy_conf_get_bool (empathy_conf_get (),
+     EMPATHY_PREFS_NOTIFICATIONS_CONTACT_SIGNIN, &contact_signon_notifications);
+
+  if (contact_signon_notifications) {
+      priv = GET_PRIV (manager);
+      e_indicator = empathy_indicator_new (contact, NULL, "login");
+      login_data = login_data_new (e_indicator, manager);
+
+      timeout = g_timeout_source_new_seconds (INDICATOR_LOGIN_TIMEOUT);
+      g_source_set_callback (timeout, indicate_login_timeout, login_data,
+          indicator_destroy_login_data);
+      g_source_attach (timeout, NULL);
+
+      g_hash_table_insert (priv->login_timeouts, e_indicator, timeout);
+
+      g_signal_connect (e_indicator, "activate",
+          G_CALLBACK (indicate_login_cb), manager);
+      empathy_indicator_show (e_indicator);
+  }
+
 }

