diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp
index ea66ef7d2c1e0f995dd4acf6110705d42fdc3d89..a68552a91e9a312f40d6c32ce94ce8a94e81351e 100644
--- a/indra/newview/llpanelme.cpp
+++ b/indra/newview/llpanelme.cpp
@@ -69,6 +69,20 @@ BOOL LLPanelMe::postBuild()
 void LLPanelMe::onOpen(const LLSD& key)
 {
 	LLPanelProfile::onOpen(key);
+
+	if(key.isUndefined() || key.has("edit_my_profile"))
+	{
+		// Open Edit My Profile panel by default (through Side Tray -> My Profile) (EXT-4823)
+		buildEditPanel();
+		openPanel(mEditPanel, getAvatarId());
+	}
+	else if(mEditPanel)
+	{
+		// When opening Me Panel through Side Tray LLPanelMe::onOpen() is called twice.
+		// First time key can be undefined and second time - key may contain some data.
+		// Lets close Edit Panel if key does contain some data on second call.
+		closePanel(mEditPanel);
+	}
 }
 
 bool LLPanelMe::notifyChildren(const LLSD& info)
diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp
index c73ade53c8fc3d58fab1d63560316984456743e4..b5d85dfd4bf7cfcc71958588c17b1565a29a8fc7 100644
--- a/indra/newview/llpanelprofile.cpp
+++ b/indra/newview/llpanelprofile.cpp
@@ -197,11 +197,7 @@ void LLPanelProfile::togglePanel(LLPanel* panel, const LLSD& key)
 	}
 	else 
 	{
-		panel->setVisible(FALSE);
-		if (panel->getParent() == this) 
-		{
-			removeChild(panel);
-		}
+		closePanel(panel);
 
 		getTabCtrl()->getCurrentPanel()->onOpen(getAvatarId());
 	}
@@ -248,6 +244,16 @@ void LLPanelProfile::openPanel(LLPanel* panel, const LLSD& params)
 	panel->setRect(new_rect);
 }
 
+void LLPanelProfile::closePanel(LLPanel* panel)
+{
+	panel->setVisible(FALSE);
+
+	if (panel->getParent() == this) 
+	{
+		removeChild(panel);
+	}
+}
+
 S32 LLPanelProfile::notifyParent(const LLSD& info)
 {
 	std::string action = info["action"];
diff --git a/indra/newview/llpanelprofile.h b/indra/newview/llpanelprofile.h
index bcf4bdd0ec27fb7d9030d74ba8342edf43571757..f1aa3f10f86ef86bbdefe5450c08c25343e59634 100644
--- a/indra/newview/llpanelprofile.h
+++ b/indra/newview/llpanelprofile.h
@@ -55,6 +55,8 @@ class LLPanelProfile : public LLPanel
 
 	virtual void openPanel(LLPanel* panel, const LLSD& params);
 
+	virtual void closePanel(LLPanel* panel);
+
 	S32 notifyParent(const LLSD& info);
 
 protected: