diff --git a/cpp/oskar/oskar_evaluate_spherical_wave_sum.cc b/cpp/oskar/oskar_evaluate_spherical_wave_sum.cc
index b7f508aebe922ef8e277e35a58cded1b3c0d64cb..48f8c0a3dcd337c2ae8cfd096983f74beb659188 100644
--- a/cpp/oskar/oskar_evaluate_spherical_wave_sum.cc
+++ b/cpp/oskar/oskar_evaluate_spherical_wave_sum.cc
@@ -62,7 +62,7 @@ void oskar_evaluate_spherical_wave_sum(int num_points, const FP* theta,
           oskar_legendre2(l, abs_m, cos_t, sin_t, p, pds, dpms);
           if (abs_m == 0) {
             sin_p = (FP)0;
-            cos_p = -sqrt(f_);
+            cos_p = sqrt(f_);
             const FP4c alpha_ = alpha[ind0];
             oskar_sph_wave(pds, dpms, sin_p, cos_p, 0, alpha_.a, alpha_.b, Xt,
                            Xp);
@@ -74,10 +74,10 @@ void oskar_evaluate_spherical_wave_sum(int num_points, const FP* theta,
             d_fact = std::tgamma(d_ + 1);
             s_fact = std::tgamma(s_ + 1);
             const FP ff = f_ * d_fact / s_fact;
-            const FP nf = sqrt(ff) * (2 * (abs_m & 1) - 1);
+            const FP nf = sqrt(ff);
             const FP4c alpha_m = alpha[ind0 + abs_m];
             const FP4c alpha_p = alpha[ind0 - abs_m];
-            p = -abs_m * phi_x_;
+            p = abs_m * phi_x_;
             oskar_sincos(p, &sin_p, &cos_p);
             sin_p *= nf;
             cos_p *= nf;
@@ -86,7 +86,7 @@ void oskar_evaluate_spherical_wave_sum(int num_points, const FP* theta,
             sin_p = -sin_p;
             oskar_sph_wave(pds, dpms, sin_p, cos_p, abs_m, alpha_p.a, alpha_p.b,
                            Xt, Xp);
-            p = -abs_m * phi_y_;
+            p = abs_m * phi_y_;
             oskar_sincos(p, &sin_p, &cos_p);
             sin_p *= nf;
             cos_p *= nf;