diff --git a/indra/newview/app_settings/settings_alchemy.xml b/indra/newview/app_settings/settings_alchemy.xml
index 316aaed96848290bf67fad2d288f820b8fdb2776..d91336951da6abf2146c68d09e70bfb60a670f39 100644
--- a/indra/newview/app_settings/settings_alchemy.xml
+++ b/indra/newview/app_settings/settings_alchemy.xml
@@ -332,6 +332,17 @@
       <key>Value</key>
       <real>8.0</real>
     </map>
+    <key>AlchemyIgnoreSimCameraConstraint</key>
+    <map>
+      <key>Comment</key>
+      <string>Ignore simulator collision plane for camera constraints</string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>Boolean</string>
+      <key>Value</key>
+      <integer>0</integer>
+    </map>
     <key>AlchemyImageDecodeThreads</key>
     <map>
       <key>Comment</key>
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index c2a33f02ab9b30e1b40103f2e794208298ea74e5..5c749dd8aa9dd141a518f336d98b5634dffcb840 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -4584,8 +4584,16 @@ void process_avatar_appearance(LLMessageSystem *mesgsys, void **user_data)
 
 void process_camera_constraint(LLMessageSystem *mesgsys, void **user_data)
 {
+	static LLCachedControl<bool> disable_sim_cam_constraint(gSavedSettings, "AlchemyIgnoreSimCameraConstraint", false);
 	LLVector4 cameraCollidePlane;
-	mesgsys->getVector4Fast(_PREHASH_CameraCollidePlane, _PREHASH_Plane, cameraCollidePlane);
+	if(disable_sim_cam_constraint)
+	{
+		cameraCollidePlane.clearVec();	
+	}
+	else
+	{
+		mesgsys->getVector4Fast(_PREHASH_CameraCollidePlane, _PREHASH_Plane, cameraCollidePlane);
+	}
 
 	gAgentCamera.setCameraCollidePlane(cameraCollidePlane);
 }