diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 620c700077b6eef0e92ae76c5b0edb1d7c24dc8a..2a9c738c97052bd64894d872f1a1c24c0650648d 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -6479,21 +6479,27 @@ void menu_toggle_attached_particles(void* user_data)
 	LLPipeline::sRenderAttachedParticles = gSavedSettings.getBOOL("RenderAttachedParticles");
 }
 
-class LLAdvancedHandleAttchedLightParticles: public view_listener_t
+class LLAdvancedHandleAttachedLightParticles: public view_listener_t
 {
 	bool handleEvent(const LLSD& userdata)
 	{
 		std::string control_name = userdata.asString();
+
+		// toggle the control
+		gSavedSettings.setBOOL(control_name,
+				       !gSavedSettings.getBOOL(control_name));
+
+		// update internal flags
 		if (control_name == "RenderAttachedLights")
-{
+		{
 			menu_toggle_attached_lights(NULL);
-}
+		}
 		else if (control_name == "RenderAttachedParticles")
-{
+		{
 			menu_toggle_attached_particles(NULL);
-}
+		}
 		return true;
-}
+	}
 };
 
 class LLSomethingSelected : public view_listener_t
@@ -7763,7 +7769,7 @@ void initialize_menus()
 	view_listener_t::addMenu(new LLAdvancedVectorizePerfTest(), "Advanced.VectorizePerfTest");
 	view_listener_t::addMenu(new LLAdvancedToggleFrameTest(), "Advanced.ToggleFrameTest");
 	view_listener_t::addMenu(new LLAdvancedCheckFrameTest(), "Advanced.CheckFrameTest");
-	view_listener_t::addMenu(new LLAdvancedHandleAttchedLightParticles(), "Advanced.HandleAttchedLightParticles");
+	view_listener_t::addMenu(new LLAdvancedHandleAttachedLightParticles(), "Advanced.HandleAttachedLightParticles");
 	
 
 	#ifdef TOGGLE_HACKED_GODLIKE_VIEWER
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 3dae5008a01a3baf6d51281f7446354b8da2c4da..0640ae21de36a64e496244527e44942dea4f97d7 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -2555,7 +2555,7 @@
                  function="CheckControl"
                  parameter="RenderAttachedLights" />
                 <menu_item_check.on_click
-                 function="Advanced.HandleAttchedLightParticles"
+                 function="Advanced.HandleAttachedLightParticles"
                  parameter="RenderAttachedLights" />
             </menu_item_check>
             <menu_item_check
@@ -2565,7 +2565,7 @@
                  function="CheckControl"
                  parameter="RenderAttachedParticles" />
                 <menu_item_check.on_click
-                 function="Advanced.HandleAttchedLightParticles"
+                 function="Advanced.HandleAttachedLightParticles"
                  parameter="RenderAttachedParticles" />
             </menu_item_check>
             <menu_item_check