diff --git a/indra/newview/llfloaterfacebook.cpp b/indra/newview/llfloaterfacebook.cpp
index 33422fb5fd7c9d56a5e560fcde87cdc2057bd026..6888e076aab65f686049f82425c94aef6939b7f6 100644
--- a/indra/newview/llfloaterfacebook.cpp
+++ b/indra/newview/llfloaterfacebook.cpp
@@ -157,7 +157,6 @@ void LLFacebookStatusPanel::onSend()
 	LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookStatusPanel"); // just in case it is already listening
 	LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookStatusPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectStateChange, this, _1));
 	
-	pressedConnect = FALSE;
 	// Connect to Facebook if necessary and then post
 	if (LLFacebookConnect::instance().isConnected())
 	{
@@ -170,6 +169,23 @@ void LLFacebookStatusPanel::onSend()
 }
 
 bool LLFacebookStatusPanel::onFacebookConnectStateChange(const LLSD& data)
+{
+	switch (data.get("enum").asInteger())
+	{
+		case LLFacebookConnect::FB_CONNECTED:
+			sendStatus();
+			break;
+
+		case LLFacebookConnect::FB_POSTED:
+			LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookStatusPanel");
+			clearAndClose();
+			break;
+	}
+
+	return false;
+}
+
+bool LLFacebookStatusPanel::onFacebookConnectAccountStateChange(const LLSD& data)
 {
 	if(LLFacebookConnect::instance().isConnected())
 	{
@@ -184,19 +200,6 @@ bool LLFacebookStatusPanel::onFacebookConnectStateChange(const LLSD& data)
 		showDisconnectedLayout();
 	}
 
-	switch (data.get("enum").asInteger())
-	{
-		case LLFacebookConnect::FB_CONNECTED:
-			if(!pressedConnect)
-				sendStatus();
-			break;
-
-		case LLFacebookConnect::FB_POSTED:
-			LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookStatusPanel");
-			clearAndClose();
-			break;
-	}
-
 	return false;
 }
 
@@ -214,7 +217,7 @@ void LLFacebookStatusPanel::onVisibilityChange(BOOL visible)
 	if(visible)
 	{
 		LLEventPumps::instance().obtain("FacebookConnectState").stopListening("LLFacebookAccountPanel");
-		LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectStateChange, this, _1));
+		LLEventPumps::instance().obtain("FacebookConnectState").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectAccountStateChange, this, _1));
 
 		LLEventPumps::instance().obtain("FacebookConnectInfo").stopListening("LLFacebookAccountPanel");
 		LLEventPumps::instance().obtain("FacebookConnectInfo").listen("LLFacebookAccountPanel", boost::bind(&LLFacebookStatusPanel::onFacebookConnectInfoChange, this));
@@ -295,7 +298,6 @@ void LLFacebookStatusPanel::onConnect()
 {
 	LLFacebookConnect::instance().checkConnectionToFacebook(true);
 
-	pressedConnect = TRUE;
 	//Clear only the facebook browser cookies so that the facebook login screen appears
 	LLViewerMedia::getCookieStore()->removeCookiesByDomain(".facebook.com"); 
 }
diff --git a/indra/newview/llfloaterfacebook.h b/indra/newview/llfloaterfacebook.h
index 6fe7a6541bb1ce8a969b135d828ca0afa48bec70..a4ca666b200531bc21135d3a00a90ddeb01f980e 100644
--- a/indra/newview/llfloaterfacebook.h
+++ b/indra/newview/llfloaterfacebook.h
@@ -46,6 +46,7 @@ class LLFacebookStatusPanel : public LLPanel
 	void draw();
     void onSend();
 	bool onFacebookConnectStateChange(const LLSD& data);
+	bool onFacebookConnectAccountStateChange(const LLSD& data);
 
 	void sendStatus();
 	void clearAndClose();
@@ -62,8 +63,6 @@ class LLFacebookStatusPanel : public LLPanel
 	void showDisconnectedLayout();
 	void showConnectedLayout();
 
-	bool pressedConnect;
-
 	LLTextBox * mAccountCaptionLabel;
 	LLTextBox * mAccountNameLabel;
 	LLUICtrl * mPanelButtons;