diff --git a/corsika/detail/framework/geometry/QuantityVector.inl b/corsika/detail/framework/geometry/QuantityVector.inl
index 7af47d7e1ea5c468511937da49b522586280ff3d..c7f9457b98dc0935c710f6d93fef6c53aab69f56 100644
--- a/corsika/detail/framework/geometry/QuantityVector.inl
+++ b/corsika/detail/framework/geometry/QuantityVector.inl
@@ -102,26 +102,26 @@ namespace corsika {
   }
 
   template <typename TDimension>
-  inline auto QuantityVector<TDimension>::operator/=(double const p) {
+  inline auto& QuantityVector<TDimension>::operator/=(double const p) {
     eigenVector_ /= p;
     return *this;
   }
 
   template <typename TDimension>
-  inline auto QuantityVector<TDimension>::operator*=(double const p) {
+  inline auto& QuantityVector<TDimension>::operator*=(double const p) {
     eigenVector_ *= p;
     return *this;
   }
 
   template <typename TDimension>
-  inline auto QuantityVector<TDimension>::operator+=(
+  inline auto& QuantityVector<TDimension>::operator+=(
       QuantityVector<TDimension> const& pQVec) {
     eigenVector_ += pQVec.eigenVector_;
     return *this;
   }
 
   template <typename TDimension>
-  inline auto QuantityVector<TDimension>::operator-=(
+  inline auto& QuantityVector<TDimension>::operator-=(
       QuantityVector<TDimension> const& pQVec) {
     eigenVector_ -= pQVec.eigenVector_;
     return *this;
diff --git a/corsika/detail/framework/geometry/Vector.inl b/corsika/detail/framework/geometry/Vector.inl
index 352eb8b3095ddec2221c1af41dc8f71b499746e2..93907b944206f64364c254473739aa324f9c6aeb 100644
--- a/corsika/detail/framework/geometry/Vector.inl
+++ b/corsika/detail/framework/geometry/Vector.inl
@@ -194,7 +194,7 @@ namespace corsika {
   }
 
   template <typename TDimension>
-  inline auto& Vector<TDimension>::operator-() const {
+  inline auto Vector<TDimension>::operator-() const {
     return Vector<TDimension>(BaseVector<TDimension>::getCoordinateSystem(),
                               -BaseVector<TDimension>::getQuantityVector());
   }
diff --git a/corsika/framework/geometry/QuantityVector.hpp b/corsika/framework/geometry/QuantityVector.hpp
index 2c951a52b1c3c9a4437bae7c98e770542c430c4b..ac7afc51e96e6a0cc4a4a59b8102c3accbb0c476 100644
--- a/corsika/framework/geometry/QuantityVector.hpp
+++ b/corsika/framework/geometry/QuantityVector.hpp
@@ -81,13 +81,13 @@ namespace corsika {
 
     auto operator/(double const p) const;
 
-    auto operator/=(double const p);
+    auto& operator/=(double const p);
 
-    auto operator*=(double const p);
+    auto& operator*=(double const p);
 
-    auto operator+=(QuantityVector<TDimension> const& pQVec);
+    auto& operator+=(QuantityVector<TDimension> const& pQVec);
 
-    auto operator-=(QuantityVector<TDimension> const& pQVec);
+    auto& operator-=(QuantityVector<TDimension> const& pQVec);
 
     auto operator-() const;
 
diff --git a/corsika/framework/geometry/Vector.hpp b/corsika/framework/geometry/Vector.hpp
index fec720e4df43f33acb09aa536b6d6b482087cf5d..2a4b34a196a9363fc87926daeb9d5f5fcdb86076 100644
--- a/corsika/framework/geometry/Vector.hpp
+++ b/corsika/framework/geometry/Vector.hpp
@@ -131,7 +131,7 @@ namespace corsika {
 
     auto& operator-=(Vector<TDimension> const& pVec);
 
-    auto& operator-() const;
+    auto operator-() const;
 
     auto normalized() const;