diff --git a/unittest/sparse_matrix.cpp b/unittest/sparse_matrix.cpp
index e8e4b2d6048c4462da17a946eb95ab9135dfd8c8..6e9572473961d8dc56471c12b0f06967abeb6e9e 100644
--- a/unittest/sparse_matrix.cpp
+++ b/unittest/sparse_matrix.cpp
@@ -26,7 +26,8 @@ Eigen::SparseMatrix<Scalar, Options> matrix1x1(const Scalar& value) {
 
 template <typename Scalar, int Options>
 Eigen::SparseMatrix<Scalar, Options> diagonal(
-    const Eigen::Ref<Eigen::Matrix<Scalar, Eigen::Dynamic, 1> >& diag_values) {
+    const Eigen::Ref<const Eigen::Matrix<Scalar, Eigen::Dynamic, 1> >&
+        diag_values) {
   typedef Eigen::SparseMatrix<Scalar, Options> ReturnType;
   ReturnType mat(diag_values.size(), diag_values.size());
   for (Eigen::Index k = 0; k < diag_values.size(); ++k)