diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 2e799039ab334caa91e703837ddb12c10908e964..9332a909d7cfa23cecb3de1f3448499f83ea30bc 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -50,6 +50,7 @@
 #include "llfloaterimport.h"
 #include "llfocusmgr.h"
 #include "llfollowcamparams.h"
+#include "llfloaterreleasemsg.h"
 #include "llinstantmessage.h"
 #include "llquantize.h"
 #include "llregionflags.h"
@@ -2847,21 +2848,7 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
 	msg->addBOOLFast(_PREHASH_AlwaysRun, gAgent.getAlwaysRun());
 	gAgent.sendReliableMessage();
 
-	
-	LLString version_channel = LLString(version_channel_char);
-
-	if (gLastVersionChannel != version_channel)
-	{
-		//show release message if not on initial login
-		if (!gLastVersionChannel.empty())
-		{ 
-			gLastVersionChannel = version_channel;
-			LLFloaterReleaseMsg::show();
-		}
-		else {
-			gLastVersionChannel = version_channel;
-		}
-	}
+	LLFloaterReleaseMsg::displayMessage(version_channel_char);
 	
 }
 
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index ef4ae7652c330c1de03cfe08f7778072908c31be..46f9c46a3122a80725d1b4084e24af77d2f3c59b 100644
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -50,6 +50,7 @@
 #include "lldir.h"
 #include "lleventpoll.h"
 #include "llfloatergodtools.h"
+#include "llfloaterreleasemsg.h"
 #include "llfloaterreporter.h"
 #include "llfloaterregioninfo.h"
 #include "llhttpnode.h"
@@ -1308,6 +1309,13 @@ class BaseCapabilitiesComplete : public LLHTTPClient::Responder
 			mRegion->setCapability(iter->first, iter->second);
 			llinfos << "BaseCapabilitiesComplete::result got capability for " 
 				<< iter->first << llendl;
+
+			/* HACK we're waiting for the ServerReleaseNotes */
+			if ((iter->first == "ServerReleaseNotes") && (LLFloaterReleaseMsg::sDisplayMessage))
+			{
+				LLFloaterReleaseMsg::show();
+				LLFloaterReleaseMsg::sDisplayMessage = false;
+			}
 		}
 		
 		if (STATE_SEED_GRANTED_WAIT == LLStartUp::getStartupState())