diff --git a/history.cpp b/history.cpp
index 2a0053b3..80bfc4a1 100644
--- a/history.cpp
+++ b/history.cpp
@@ -205,11 +205,12 @@ EX namespace history {
     
     on = true;
   
-    if(!quotient) try {
-      path_for_lineanimation = build_shortest_path(start, target);
+    if(!quotient && !arb::in()) try {
+      auto p = build_shortest_path(start, target);
+      path_for_lineanimation = p;
       }
     catch(hr_shortest_path_exception&) {
-      addMessage("Error: could not build a path");
+      addMessage("Could not build a path");
       return;
       }
 
@@ -282,6 +283,8 @@ EX namespace history {
       }
     
     View = inverse(v[ph]->at);
+    
+    if(arb::in() && v[ph]->base->master->emeraldval) View = Mirror * View;
   
     hyperpoint now = v[ph]->at * C0;
 
diff --git a/models.cpp b/models.cpp
index 404372ce..733b75a1 100644
--- a/models.cpp
+++ b/models.cpp
@@ -197,7 +197,7 @@ EX namespace models {
       }
     
     if(centerover && !history::on)
-    if(isize(history::path_for_lineanimation) == 0 || (quotient && history::path_for_lineanimation.back() != centerover)) {
+    if(isize(history::path_for_lineanimation) == 0 || ((quotient || arb::in()) && history::path_for_lineanimation.back() != centerover)) {
       history::path_for_lineanimation.push_back(centerover);
       }