diff --git a/include/ceres/dynamic_autodiff_cost_function.h b/include/ceres/dynamic_autodiff_cost_function.h
index 9ffad5e..38bdb0a 100644
--- a/include/ceres/dynamic_autodiff_cost_function.h
+++ b/include/ceres/dynamic_autodiff_cost_function.h
@@ -124,7 +124,7 @@
 
     // Make the parameter pack that is sent to the functor (reused).
     vector<Jet<double, Stride>* > jet_parameters(num_parameter_blocks,
-        static_cast<Jet<double, Stride>* >( NULL));
+        static_cast<Jet<double, Stride>* >(NULL));
     int num_active_parameters = 0;
     int start_derivative_section = -1;
     for (int i = 0, parameter_cursor = 0; i < num_parameter_blocks; ++i) {
diff --git a/internal/ceres/residual_block.cc b/internal/ceres/residual_block.cc
index 4906607..649f3f7 100644
--- a/internal/ceres/residual_block.cc
+++ b/internal/ceres/residual_block.cc
@@ -45,6 +45,8 @@
 #include "ceres/local_parameterization.h"
 #include "ceres/loss_function.h"
 
+using Eigen::Dynamic;
+
 namespace ceres {
 namespace internal {
 
@@ -140,8 +142,8 @@
 
         // Apply local reparameterization to the jacobians.
         if (parameter_block->LocalParameterizationJacobian() != NULL) {
-          MatrixMatrixMultiply
-              <Eigen::Dynamic, Eigen::Dynamic, Eigen::Dynamic, Eigen::Dynamic, 0>(
+          // jacobians[i] = global_jacobians[i] * global_to_local_jacobian.
+          MatrixMatrixMultiply<Dynamic, Dynamic, Dynamic, Dynamic, 0>(
               global_jacobians[i],
               num_residuals,
               parameter_block->Size(),
diff --git a/internal/ceres/schur_eliminator_impl.h b/internal/ceres/schur_eliminator_impl.h
index 050b1cf..835f879 100644
--- a/internal/ceres/schur_eliminator_impl.h
+++ b/internal/ceres/schur_eliminator_impl.h
@@ -279,7 +279,11 @@
 
     FixedArray<double, 8> inverse_ete_g(e_block_size);
     MatrixVectorMultiply<kEBlockSize, kEBlockSize, 0>(
-        inverse_ete.data(), e_block_size, e_block_size, g.get(), inverse_ete_g.get());
+        inverse_ete.data(),
+        e_block_size,
+        e_block_size,
+        g.get(),
+        inverse_ete_g.get());
 
     UpdateRhs(chunk, A, b, chunk.start, inverse_ete_g.get(), rhs);
 
