diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index ef5ce155b1f23ec3742219fee73a8ff106bb5235..142dea83e2d2b9cf45760151223a2eec1057653f 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -204,6 +204,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
 
 	// change z sort of clickable text to be behind buttons
 	sendChildToBack(getChildView("forgot_password_text"));
+	sendChildToBack(getChildView("sign_up_text"));
 
 	LLComboBox* favorites_combo = getChild<LLComboBox>("start_location_combo");
 	updateLocationSelectorsVisibility(); // separate so that it can be called from preferences
@@ -271,6 +272,9 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
 	LLTextBox* forgot_password_text = getChild<LLTextBox>("forgot_password_text");
 	forgot_password_text->setClickedCallback(onClickForgotPassword, NULL);
 
+	LLTextBox* sign_up_text = getChild<LLTextBox>("sign_up_text");
+	sign_up_text->setClickedCallback(onClickSignUp, NULL);
+
 	// get the web browser control
 	LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("login_html");
 	web_browser->addObserver(this);
@@ -921,6 +925,15 @@ void LLPanelLogin::onClickForgotPassword(void*)
 	}
 }
 
+//static
+void LLPanelLogin::onClickSignUp(void*)
+{
+	if (sInstance)
+	{
+		LLWeb::loadURLExternal(sInstance->getString("sign_up_url"));
+	}
+}
+
 // static
 void LLPanelLogin::onPassKey(LLLineEditor* caller, void* user_data)
 {
diff --git a/indra/newview/llpanellogin.h b/indra/newview/llpanellogin.h
index 852195b304b2914fd2d781669ae3b3bb85707a61..c633582d89886ea55e669e942d65222079a85fbd 100644
--- a/indra/newview/llpanellogin.h
+++ b/indra/newview/llpanellogin.h
@@ -99,6 +99,7 @@ class LLPanelLogin:
 	static void onClickNewAccount(void*);
 	static void onClickVersion(void*);
 	static void onClickForgotPassword(void*);
+	static void onClickSignUp(void*);
 	static void onPassKey(LLLineEditor* caller, void* user_data);
 	static void updateServerCombo();
 
diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml
index 3a34bcbe21c5e8dc749fcf9b78faafc9ecf8aa99..7759d4fdb2975cadfc31b9bf6d426da8a54526a9 100644
--- a/indra/newview/skins/default/xui/en/panel_login.xml
+++ b/indra/newview/skins/default/xui/en/panel_login.xml
@@ -12,6 +12,10 @@
     name="forgot_password_url">
     http://secondlife.com/account/request.php
   </panel.string>
+  <panel.string
+    name="sign_up_url">
+    https://join.secondlife.com/
+  </panel.string>
   <layout_stack
   follows="left|right|top"
   height="172"
@@ -149,7 +153,18 @@
     label="Select grid"    
     layout="topleft"
     name="server_combo"
-    width="149" />	
+    width="149" />
+  <text
+    follows="left|top"
+    font="SansSerifMedium"
+    text_color="EmphasisColor"
+    height="16"
+    name="sign_up_text"
+    left="778"
+    bottom_delta="-10"
+    width="200">
+    Sign up
+  </text> 
   </layout_panel>
   <layout_panel
       height="172"
diff --git a/indra/newview/skins/default/xui/en/panel_login_first.xml b/indra/newview/skins/default/xui/en/panel_login_first.xml
index 35b80c56abe7cc0f2837fa2905b1065e0d6699fa..213f9a6b0cc2f85273ac4358ffa38f6928e941d9 100644
--- a/indra/newview/skins/default/xui/en/panel_login_first.xml
+++ b/indra/newview/skins/default/xui/en/panel_login_first.xml
@@ -12,6 +12,10 @@
     name="forgot_password_url">
     http://secondlife.com/account/request.php
   </panel.string>
+  <panel.string
+    name="sign_up_url">
+    https://join.secondlife.com/
+  </panel.string>
   <layout_stack
     follows="left|right|top|bottom"
     width="1024"
@@ -168,6 +172,17 @@
             width="200">
             Forgotten password
           </text>
+          <text
+            follows="left|top"
+            font="SansSerifLarge"
+            text_color="EmphasisColor"
+            height="16"
+            name="sign_up_text"
+            left="432"
+            top="34"
+            width="200">
+            Sign up
+          </text>
         </layout_panel>
         <layout_panel
           height="100"