diff --git a/CEP/Calibration/BBSKernel/src/Expr/ArrayFactor.cc b/CEP/Calibration/BBSKernel/src/Expr/ArrayFactor.cc
index 8b1f46ae37b647308cf91f1975436d2e885f8f07..1ecda8beb42312cfa306dae4ed3b539b2e6d60d3 100644
--- a/CEP/Calibration/BBSKernel/src/Expr/ArrayFactor.cc
+++ b/CEP/Calibration/BBSKernel/src/Expr/ArrayFactor.cc
@@ -107,33 +107,32 @@ const JonesMatrix::View ArrayFactor::evaluateImpl(const Grid &grid,
         DBGASSERT(delay0.nx() == 1
             && static_cast<size_t>(delay0.ny()) == nTime);
 
-        double *p_delay = delay.doubleStorage();
-        double *p_delay0 = delay0.doubleStorage();
         double *p_re, *p_im;
         arrayFactor.dcomplexStorage(p_re, p_im);
+        const double *p_delay = delay.doubleStorage();
+        const double *p_delay0 = delay0.doubleStorage();
 
         for(size_t t = 0; t < nTime; ++t)
         {
-            const double delay_t = *p_delay;
-            const double shift0 = omega0 * (*p_delay0);
+            const double delay_t = *p_delay++;
+            const double shift0 = omega0 * (*p_delay0++);
 
             for(size_t f = 0; f < nFreq; ++f)
             {
                 const double shift = shift0 - C::_2pi * grid[FREQ]->center(f)
                     * delay_t;
 
-                (*p_re) += std::cos(shift) / nElement;
-                (*p_im) += std::sin(shift) / nElement;
-
+                (*p_re) += std::cos(shift);
+                (*p_im) += std::sin(shift);
                 ++p_re;
                 ++p_im;
             }
-
-            ++p_delay;
-            ++p_delay0;
         }
     }
 
+    // Normalize.
+    arrayFactor /= nElement;
+
     JonesMatrix::View result;
     result.assign(0, 0, arrayFactor);
     result.assign(0, 1, Matrix(makedcomplex(0.0, 0.0)));
diff --git a/CEP/Calibration/BBSKernel/src/Expr/TileArrayFactor.cc b/CEP/Calibration/BBSKernel/src/Expr/TileArrayFactor.cc
index 67493028c9d37e9a843636e961589206346fd112..3a5a3774bbaa0f8cf4f016493d8c5b9ac03e789a 100644
--- a/CEP/Calibration/BBSKernel/src/Expr/TileArrayFactor.cc
+++ b/CEP/Calibration/BBSKernel/src/Expr/TileArrayFactor.cc
@@ -65,29 +65,24 @@ const JonesMatrix::View TileArrayFactor::evaluateImpl(const Grid &grid,
     // Convert from elevation to zenith angle.
     Matrix theta = Matrix(C::pi_2) - direction(1);
     Matrix sin_theta = sin(theta);
-//    Matrix cos_theta = cos(theta);
 
     Matrix k[2];
     k[0] = -sin_theta * cos_phi;
     k[1] = -sin_theta * sin_phi;
-//    k[2] = -cos_theta;
 
     Matrix sin_phi0 = sin(reference(0));
     Matrix cos_phi0 = cos(reference(0));
     // Convert from elevation to zenith angle.
     Matrix theta0 = Matrix(C::pi_2) - reference(1);
     Matrix sin_theta0 = sin(theta0);
-//    Matrix cos_theta0 = cos(theta0);
 
     Matrix k0[2];
     k0[0] = -sin_theta0 * cos_phi0;
     k0[1] = -sin_theta0 * sin_phi0;
-//    k0[2] = -cos_theta0;
 
     // Compute difference vector.
     k[0] = k0[0] - k[0];
     k[1] = k0[1] - k[1];
-//    k[2] = k0[2] - k[2];
 
     // Allocate result (initialized at 0+0i).
     Matrix arrayFactor(makedcomplex(0.0, 0.0), nFreq, nTime);
@@ -97,34 +92,30 @@ const JonesMatrix::View TileArrayFactor::evaluateImpl(const Grid &grid,
         // direction of interest with respect to the phase center of element i
         // when beamforming in the reference direction using time delays.
         Matrix delay = (k[0] * itsLayout(i, 0) + k[1] * itsLayout(i, 1)) / C::c;
-//        LOG_DEBUG_STR("el: " << i << " x: " << itsLayout(i, 0) << " y: "
-//            << itsLayout(i, 1));
-
         DBGASSERT(delay.nx() == 1 && static_cast<size_t>(delay.ny()) == nTime);
 
         double *p_re, *p_im;
         arrayFactor.dcomplexStorage(p_re, p_im);
-        double *p_delay = delay.doubleStorage();
+        const double *p_delay = delay.doubleStorage();
 
         for(size_t t = 0; t < nTime; ++t)
         {
-            const double delay_t = *p_delay;
+            const double delay_t = *p_delay++;
 
             for(size_t f = 0; f < nFreq; ++f)
             {
                 const double shift = C::_2pi * grid[FREQ]->center(f) * delay_t;
-
-                (*p_re) += std::cos(shift) / nElement;
-                (*p_im) += std::sin(shift) / nElement;
-
+                *p_re += std::cos(shift);
+                *p_im += std::sin(shift);
                 ++p_re;
                 ++p_im;
             }
-
-            ++p_delay;
         }
     }
 
+    // Normalize.
+    arrayFactor /= nElement;
+
     JonesMatrix::View result;
     result.assign(0, 0, arrayFactor);
     result.assign(0, 1, Matrix(makedcomplex(0.0, 0.0)));