diff --git a/Core/FormFactors/FormFactorPolyhedron.cpp b/Core/FormFactors/FormFactorPolyhedron.cpp
index 827dd70c8e52b8835d585257f90a798e9d0e2dd0..8040e56da2914db89f412dfd2ac001cff40f64f7 100644
--- a/Core/FormFactors/FormFactorPolyhedron.cpp
+++ b/Core/FormFactors/FormFactorPolyhedron.cpp
@@ -161,7 +161,7 @@ double PolyhedralFace::getPyramidalVolume() const { return rperp*area/3; }
 
 //! Sets qperp and qpa according to argument q and to this polygon's normal.
 
-void PolyhedralFace::decompose_q( const cvector_t q, complex_t& qperp, cvector_t qpa ) const
+void PolyhedralFace::decompose_q( const cvector_t q, complex_t& qperp, cvector_t& qpa ) const
 {
     qperp = normal.dot(q);
     qpa = q - qperp*normal;
diff --git a/Core/FormFactors/FormFactorPolyhedron.h b/Core/FormFactors/FormFactorPolyhedron.h
index 0d9ffc7bf141e54f72d682487eebd662f6e4d183..32419b52205caa2b11d55f1662d1e074d51956e0 100644
--- a/Core/FormFactors/FormFactorPolyhedron.h
+++ b/Core/FormFactors/FormFactorPolyhedron.h
@@ -55,7 +55,7 @@ private:
     kvector_t normal; //!< normal vector of this polygon's plane
     double rperp; //!< distance of this polygon's plane from the origin, along 'normal'
     double radius_2d; //!< radius of enclosing cylinder
-    void decompose_q( const cvector_t q, complex_t& qperp, cvector_t qpa ) const;
+    void decompose_q( const cvector_t q, complex_t& qperp, cvector_t& qpa ) const;
     complex_t ff_n_core( int m, const cvector_t qpa ) const;
 };