diff --git a/src/lava-vr/RopeLocomotion.cc b/src/lava-vr/RopeLocomotion.cc
index c392b669132e979665ebace7bfa48261a3984476..b5d107cfeeafb5de54c42e23aba8da335bde6ce1 100644
--- a/src/lava-vr/RopeLocomotion.cc
+++ b/src/lava-vr/RopeLocomotion.cc
@@ -64,7 +64,9 @@ glm::mat4 RopeLocomotion::updateMatrix(glm::mat4 old) {
                          : 1.0f;
 
         auto axis = glm::vec3{0.f, 1.f, 0.f};
-        auto angle = glm::orientedAngle(old_dir, new_dir, axis);
+        auto angle = (mConfig.allowRotation)
+                         ? glm::orientedAngle(old_dir, new_dir, axis)
+                         : 0.0f;
         auto rot = glm::rotate(angle, axis);
 
         auto combined = glm::translate(new_cog) * rot *
diff --git a/src/lava-vr/RopeLocomotion.hh b/src/lava-vr/RopeLocomotion.hh
index 08a739ec4038239ee1147369b8c6262f2b12fceb..53a4661f3845d4d6f096b28bcd763e134788a15f 100644
--- a/src/lava-vr/RopeLocomotion.hh
+++ b/src/lava-vr/RopeLocomotion.hh
@@ -10,7 +10,8 @@ namespace vr {
 class RopeLocomotion {
   public:
     struct Config {
-        bool allowZoom;
+        bool allowZoom = true;
+        bool allowRotation = true;
     };
 
     RopeLocomotion(lava::openvr::SharedOpenVRHmd const &output);