diff --git a/src/Elements/OpalBeamline.cpp b/src/Elements/OpalBeamline.cpp
index c5ece25db1bebdd4ff060e582509ba851741b274..054b74f2d82ed73e26a8fdf7bfb3d0eec7626b59 100644
--- a/src/Elements/OpalBeamline.cpp
+++ b/src/Elements/OpalBeamline.cpp
@@ -160,7 +160,11 @@ void OpalBeamline::switchElementsOff(const double &min, ElementBase::ElementType
 }
 
 void OpalBeamline::switchElementsOff() {
-    for(FieldList::iterator flit = elements_m.begin(); flit != elements_m.end(); ++ flit)
+    elements_m.sort([](const ClassicField& a, const ClassicField& b) {
+                        return a.getElement()->getName() < b.getElement()->getName();
+                    });
+
+    for (FieldList::iterator flit = elements_m.begin(); flit != elements_m.end(); ++ flit)
         (*flit).setOff();
 }