--- ops.c.orig	2004-09-06 12:00:45.191612488 +0200
+++ ops.c	2004-09-06 11:32:02.575489944 +0200
@@ -1600,6 +1600,12 @@
 		gaim_connection_update_progress(gc, _("Resuming session"), 4, 5);
 	else
 		gaim_connection_update_progress(gc, _("Authenticating connection"), 4, 5);
+	
+	
+	if (gaim_account_get_bool(sg->account, "pubkey-auth", FALSE)) {
+		completion(TRUE, SILC_AUTH_PUBLIC_KEY, NULL, 0, context);
+		return;
+	}
 
 	/* Check configuration if we have this connection configured.  If we
 	   have then return that data immediately, as it's faster way. */
@@ -1608,10 +1614,6 @@
 			   strlen(gc->account->password), context);
 		return;
 	}
-	if (gaim_account_get_bool(sg->account, "pubkey-auth", FALSE)) {
-		completion(TRUE, SILC_AUTH_PUBLIC_KEY, NULL, 0, context);
-		return;
-	}
 
 	/* Resolve the authentication method from server, as we may not know it. */
 	internal = silc_calloc(1, sizeof(*internal));
