diff --git a/internal/ceres/local_parameterization.cc b/internal/ceres/local_parameterization.cc
index 97fdbed..62947f0 100644
--- a/internal/ceres/local_parameterization.cc
+++ b/internal/ceres/local_parameterization.cc
@@ -94,6 +94,10 @@
 SubsetParameterization::SubsetParameterization(
     int size, const vector<int>& constant_parameters)
     : local_size_(size - constant_parameters.size()), constancy_mask_(size, 0) {
+  if (constant_parameters.empty()) {
+    return;
+  }
+
   vector<int> constant = constant_parameters;
   std::sort(constant.begin(), constant.end());
   CHECK_GE(constant.front(), 0) << "Indices indicating constant parameter must "
diff --git a/internal/ceres/local_parameterization_test.cc b/internal/ceres/local_parameterization_test.cc
index 636cac2..ec8e660 100644
--- a/internal/ceres/local_parameterization_test.cc
+++ b/internal/ceres/local_parameterization_test.cc
@@ -75,6 +75,33 @@
   EXPECT_EQ((local_matrix - global_matrix).norm(), 0.0);
 }
 
+TEST(SubsetParameterization, EmptyConstantParameters) {
+  std::vector<int> constant_parameters;
+  SubsetParameterization parameterization(3, constant_parameters);
+  EXPECT_EQ(parameterization.GlobalSize(), 3);
+  EXPECT_EQ(parameterization.LocalSize(), 3);
+  double x[3] = {1, 2, 3};
+  double delta[3] = {4, 5, 6};
+  double x_plus_delta[3] = {-1, -2, -3};
+  parameterization.Plus(x, delta, x_plus_delta);
+  EXPECT_EQ(x_plus_delta[0], x[0] + delta[0]);
+  EXPECT_EQ(x_plus_delta[1], x[1] + delta[1]);
+  EXPECT_EQ(x_plus_delta[2], x[2] + delta[2]);
+
+  Matrix jacobian(3, 3);
+  Matrix expected_jacobian(3, 3);
+  expected_jacobian.setIdentity();
+  parameterization.ComputeJacobian(x, jacobian.data());
+  EXPECT_EQ(jacobian, expected_jacobian);
+
+  Matrix global_matrix(3, 5);
+  global_matrix.setRandom();
+  Matrix local_matrix(3, 5);
+  parameterization.MultiplyByJacobian(
+      x, 5, global_matrix.data(), local_matrix.data());
+  EXPECT_EQ(global_matrix, local_matrix);
+}
+
 TEST(SubsetParameterization, NegativeParameterIndexDeathTest) {
   std::vector<int> constant_parameters;
   constant_parameters.push_back(-1);
