diff --git a/GUI/Model/Types/DoubleDescriptor.cpp b/GUI/Model/Types/DoubleDescriptor.cpp
index d98a411f0724ff8a523d424cb64cd5ad2ca776a1..f86331b6f786d1824e1ef7e3dfaa04a97d15865a 100644
--- a/GUI/Model/Types/DoubleDescriptor.cpp
+++ b/GUI/Model/Types/DoubleDescriptor.cpp
@@ -18,30 +18,6 @@
 #include "GUI/Util/Path.h"
 #include <utility>
 
-DoubleDescriptor::DoubleDescriptor(const QString& label, SessionItem* item,
-                                   const variant<QString, Unit>& unit)
-    : DoubleDescriptor(
-        label, item->toolTip(), item->decimals(), item->limits(),
-        [=](double d) { item->setValue(d); }, [=]() { return item->value().toDouble(); }, unit)
-{
-    path = [=] {
-        ASSERT(item->model()); // if assert, item is not completely initialized
-        return GUI::Util::Path::getPathFromIndex(item->model()->indexOfItem(item));
-    };
-}
-
-DoubleDescriptor::DoubleDescriptor(SessionItem* item, const variant<QString, Unit>& unit)
-    : DoubleDescriptor(item->displayName(), item, unit)
-{
-}
-
-DoubleDescriptor::DoubleDescriptor(const QString& label, const QString& tooltip,
-                                   function<void(double)> setter, function<double()> getter,
-                                   const variant<QString, Unit>& unit)
-    : DoubleDescriptor(label, tooltip, 3, RealLimits::nonnegative(), setter, getter, unit)
-{
-}
-
 DoubleDescriptor::DoubleDescriptor(QString label_, QString tooltip_, int decimals_,
                                    const RealLimits& limits_, function<void(double)> setter,
                                    function<double()> getter, const variant<QString, Unit>& unit_)
@@ -58,6 +34,13 @@ DoubleDescriptor::DoubleDescriptor(QString label_, QString tooltip_, int decimal
     path = [] { return QString(); };
 }
 
+DoubleDescriptor::DoubleDescriptor(const QString& label, const QString& tooltip,
+                                   function<void(double)> setter, function<double()> getter,
+                                   const variant<QString, Unit>& unit)
+    : DoubleDescriptor(label, tooltip, 3, RealLimits::nonnegative(), setter, getter, unit)
+{
+}
+
 DoubleDescriptor::DoubleDescriptor(const QString& label, const QString& tooltip, double* var,
                                    const variant<QString, Unit>& unit)
     : DoubleDescriptor(label, tooltip, 3, RealLimits::nonnegative(), var, unit)
@@ -81,6 +64,23 @@ DoubleDescriptor::DoubleDescriptor(const QString& label, const double* var,
 {
 }
 
+DoubleDescriptor::DoubleDescriptor(const QString& label, SessionItem* item,
+                                   const variant<QString, Unit>& unit)
+    : DoubleDescriptor(
+        label, item->toolTip(), item->decimals(), item->limits(),
+        [=](double d) { item->setValue(d); }, [=]() { return item->value().toDouble(); }, unit)
+{
+    path = [=] {
+        ASSERT(item->model()); // if assert, item is not completely initialized
+        return GUI::Util::Path::getPathFromIndex(item->model()->indexOfItem(item));
+    };
+}
+
+DoubleDescriptor::DoubleDescriptor(SessionItem* item, const variant<QString, Unit>& unit)
+    : DoubleDescriptor(item->displayName(), item, unit)
+{
+}
+
 DoubleDescriptor::operator double() const
 {
     return get();
diff --git a/GUI/Model/Types/DoubleDescriptor.h b/GUI/Model/Types/DoubleDescriptor.h
index 36236317ad4f3da3628a0d69aca41d9eeb5e38f7..6e179e3a6bc55253fb413842d2a578ddd00a10c7 100644
--- a/GUI/Model/Types/DoubleDescriptor.h
+++ b/GUI/Model/Types/DoubleDescriptor.h
@@ -34,43 +34,43 @@ using std::variant;
 //! eases SessionItem migration. The underlying implementation can be a SessionItem, a simple double
 //! member, or any other construction to hold a double value.
 class DoubleDescriptor {
-public:
-    DoubleDescriptor(const DoubleDescriptor& other) = default;
+private: // private as long as path initialization is not included in params (to be done after
+         // SessionItem migration)
+    //! Operates on a double value (e.g a member variable).
+    DoubleDescriptor(const QString& label, const QString& tooltip, int decimals,
+                     const RealLimits& limits, double* var, const variant<QString, Unit>& unit);
 
-    //! Operates on a session item. The settings (like decimals, limits) are taken from the session
-    //! item.
-    //! Only for easier migration. Should be removed after SessionItem refactoring.
-    DoubleDescriptor(SessionItem* item, const variant<QString, Unit>& unit);
+    //! Operates on a double value (e.g a member variable).
+    //! Decimals is set to 3, limits is set to nonnegative
+    DoubleDescriptor(const QString& label, const QString& tooltip, double* var,
+                     const variant<QString, Unit>& unit);
 
+public:
     //! Operates on any kind of storage (e.g. session items), by using setter/getter methods
     //! decimals is set to 3, limits is set to nonnegative
     DoubleDescriptor(const QString& label, const QString& tooltip, function<void(double)> setter,
                      function<double()> getter, const variant<QString, Unit>& unit);
 
+    //! Operates on any kind of storage (e.g. session items), by using setter/getter methods
+    DoubleDescriptor(QString label, QString tooltip, int decimals, const RealLimits& limits,
+                     function<void(double)> setter, function<double()> getter,
+                     const variant<QString, Unit>& unit);
+
+    DoubleDescriptor(const QString& label, const double* var, const variant<QString, Unit>& unit);
+
     //! Operates on a session item. The settings (like decimals, limits) are taken from the session
     //! item.
     //! Only for easier migration. Should be removed after SessionItem refactoring.
     DoubleDescriptor(const QString& label, SessionItem* item, const variant<QString, Unit>& unit);
 
-    DoubleDescriptor(const QString& label, const double* var, const variant<QString, Unit>& unit);
-
-    //! Operates on any kind of storage (e.g. session items), by using setter/getter methods
-    DoubleDescriptor(QString label, QString tooltip, int decimals, const RealLimits& limits,
-                     function<void(double)> setter, function<double()> getter,
-                     const variant<QString, Unit>& unit);
+    //! Operates on a session item. The settings (like decimals, limits) are taken from the session
+    //! item.
+    //! Only for easier migration. Should be removed after SessionItem refactoring.
+    DoubleDescriptor(SessionItem* item, const variant<QString, Unit>& unit);
 
     DoubleDescriptor() = default;
 
-private: // private as long as path initialization is not included in params (to be done after
-         // SessionItem migration)
-    //! Operates on a double value (e.g a member variable).
-    DoubleDescriptor(const QString& label, const QString& tooltip, int decimals,
-                     const RealLimits& limits, double* var, const variant<QString, Unit>& unit);
-
-    //! Operates on a double value (e.g a member variable).
-    //! Decimals is set to 3, limits is set to nonnegative
-    DoubleDescriptor(const QString& label, const QString& tooltip, double* var,
-                     const variant<QString, Unit>& unit);
+    DoubleDescriptor(const DoubleDescriptor& other) = default;
 
 public:
     //! Return the current value of the handled parameter.