diff --git a/Core/FormFactors/src/FormFactorCone.cpp b/Core/FormFactors/src/FormFactorCone.cpp
index a6e4412dbade873765fc64f93635c62f0e4b0e25..6a97b985d0a5c07ecedf56b773d7f0d27352b55c 100644
--- a/Core/FormFactors/src/FormFactorCone.cpp
+++ b/Core/FormFactors/src/FormFactorCone.cpp
@@ -59,7 +59,7 @@ complex_t FormFactorCone::Integrand(double Z, void* params) const
     double Rz = m_radius -Z/std::tan(m_alpha);
     complex_t q_p = m_q.magxy(); // sqrt(x*x + y*y)
 
-    return Rz*Rz*MathFunctions::Bessel_C1(std::abs(q_p*Rz)) *
+    return Rz*Rz*MathFunctions::Bessel_C1(q_p*Rz) *
             std::exp(complex_t(0.0, 1.0)*m_q.z()*Z);
 }
 
diff --git a/Core/FormFactors/src/FormFactorCylinder.cpp b/Core/FormFactors/src/FormFactorCylinder.cpp
index d6b18d32fd9e4b19173898f9175308738636d202..51dd15db4f412a1efc96c24599f6a0e54117ca5b 100644
--- a/Core/FormFactors/src/FormFactorCylinder.cpp
+++ b/Core/FormFactors/src/FormFactorCylinder.cpp
@@ -54,7 +54,7 @@ complex_t FormFactorCylinder::evaluate_for_q(const cvector_t& q) const
 
     complex_t qrR = q.magxy()*R;
     complex_t J1_qrR_div_qrR = std::abs(qrR) > Numeric::double_epsilon ?
-        MathFunctions::Bessel_J1(std::abs(qrR))/(std::abs(qrR)) :
+        MathFunctions::Bessel_C1(qrR) :
         0.5;
     complex_t radial_part = 2*M_PI*R*R*J1_qrR_div_qrR;
 
diff --git a/Core/FormFactors/src/FormFactorEllipsoidalCylinder.cpp b/Core/FormFactors/src/FormFactorEllipsoidalCylinder.cpp
index e1c83aecb27832c2d1f631a90ebf3d17a6a0bdaa..a9cf36f0a2db244c88cbf1db5ba8d67de5e7d3b0 100644
--- a/Core/FormFactors/src/FormFactorEllipsoidalCylinder.cpp
+++ b/Core/FormFactors/src/FormFactorEllipsoidalCylinder.cpp
@@ -41,7 +41,7 @@ complex_t FormFactorEllipsoidalCylinder::evaluate_for_q(const cvector_t& q) cons
     complex_t Fz = std::exp(complex_t(0.0, 1.0)*qzHdiv2)
                    *MathFunctions::Sinc(qzHdiv2);
     complex_t gamma  = std::sqrt((qxRa)*(qxRa) + (qyRb)*(qyRb));
-    complex_t J1_gamma_div_gamma = MathFunctions::Bessel_C1(std::abs(gamma));
+    complex_t J1_gamma_div_gamma = MathFunctions::Bessel_C1(gamma);
 
     return 2.*M_PI *m_radius_a*m_radius_b*m_height * Fz*J1_gamma_div_gamma;
 
diff --git a/Core/FormFactors/src/FormFactorFullSpheroid.cpp b/Core/FormFactors/src/FormFactorFullSpheroid.cpp
index 5c9460f7ab6f5ace7bff1194f1a99be3ea717abc..5a32d17f195f1479f839f15a2537b75715f8f85f 100644
--- a/Core/FormFactors/src/FormFactorFullSpheroid.cpp
+++ b/Core/FormFactors/src/FormFactorFullSpheroid.cpp
@@ -58,7 +58,7 @@ complex_t FormFactorFullSpheroid::Integrand(double Z, void* params) const
     double Rz  = R*std::sqrt(1-4.0*Z*Z/(H*H));
     complex_t qrRz = m_q.magxy()*Rz;
 
-    complex_t J1_qrRz_div_qrRz = MathFunctions::Bessel_C1(std::abs(qrRz));
+    complex_t J1_qrRz_div_qrRz = MathFunctions::Bessel_C1(qrRz);
 
     return Rz*Rz* J1_qrRz_div_qrRz *std::cos(m_q.z()*Z);
 }
diff --git a/Core/FormFactors/src/FormFactorHemiEllipsoid.cpp b/Core/FormFactors/src/FormFactorHemiEllipsoid.cpp
index 0f5791646a92b2134580e2b696a1435200abc0e3..9bcc567a11186dc905bae0ddcd8885e7ab52c732 100644
--- a/Core/FormFactors/src/FormFactorHemiEllipsoid.cpp
+++ b/Core/FormFactors/src/FormFactorHemiEllipsoid.cpp
@@ -68,7 +68,7 @@ complex_t FormFactorHemiEllipsoid::Integrand(double Z, void* params) const
     complex_t qyWz = m_q.y()*Wz;
 
     complex_t gamma = std::sqrt (qxRz*qxRz + qyWz*qyWz);
-    complex_t J1_gamma_div_gamma = MathFunctions::Bessel_C1(std::abs(gamma));
+    complex_t J1_gamma_div_gamma = MathFunctions::Bessel_C1(gamma);
     complex_t exp_imag = std::exp(complex_t(0.0,1.0)*m_q.z()*Z);
 
     return Rz * Wz * J1_gamma_div_gamma *exp_imag;
diff --git a/Core/FormFactors/src/FormFactorSphere.cpp b/Core/FormFactors/src/FormFactorSphere.cpp
index 4956bfa3fc02e2b55af3385829af0615921af7c9..d5f4b42cebbb0dbebc3b9a839ff8858af46daa06 100644
--- a/Core/FormFactors/src/FormFactorSphere.cpp
+++ b/Core/FormFactors/src/FormFactorSphere.cpp
@@ -57,7 +57,7 @@ complex_t FormFactorSphere::Integrand(double Z, void* params) const
     (void)params;  // to avoid unused-variable warning
     double Rz = std::sqrt(std::abs(m_radius*m_radius-Z*Z) );
     complex_t q_p = m_q.magxy(); // sqrt(x*x + y*y)
-    return Rz*Rz*MathFunctions::Bessel_C1(std::abs(q_p*Rz)) *
+    return Rz*Rz*MathFunctions::Bessel_C1(q_p*Rz) *
         std::exp(complex_t(0.0, 1.0)*m_q.z()*Z);
 }
 
diff --git a/Core/FormFactors/src/FormFactorSpheroid.cpp b/Core/FormFactors/src/FormFactorSpheroid.cpp
index a2a383ddb4e04a40849b6af6d87390342ee8c158..7edb40e012f91183c723f69b9da2be74875422df 100644
--- a/Core/FormFactors/src/FormFactorSpheroid.cpp
+++ b/Core/FormFactors/src/FormFactorSpheroid.cpp
@@ -60,7 +60,7 @@ complex_t FormFactorSpheroid::Integrand(double Z, void* params) const
 
     double Rz  = std::sqrt(R*R-Z*Z/(fp*fp));
     complex_t qrRz = m_q.magxy()*Rz;
-    complex_t J1_qrRz_div_qrRz = MathFunctions::Bessel_C1(std::abs(qrRz));
+    complex_t J1_qrRz_div_qrRz = MathFunctions::Bessel_C1(qrRz);
 
     return Rz * Rz * J1_qrRz_div_qrRz * std::exp(complex_t(0.0,1.0)*m_q.z()*Z);
 }