bug #1105: fix default preallocation when moving from compressed to uncompressed mode
diff --git a/test/sparse_basic.cpp b/test/sparse_basic.cpp
index 2d0f581..d803e7d 100644
--- a/test/sparse_basic.cpp
+++ b/test/sparse_basic.cpp
@@ -513,4 +513,19 @@
   // Regression test for bug 900: (manually insert higher values here, if you have enough RAM):
   CALL_SUBTEST_3((big_sparse_triplet<SparseMatrix<float, RowMajor, int> >(10000, 10000, 0.125)));
   CALL_SUBTEST_4((big_sparse_triplet<SparseMatrix<double, ColMajor, long int> >(10000, 10000, 0.125)));
+
+  // Regression test for bug 1105
+#ifdef EIGEN_TEST_PART_6
+  {
+    int n = Eigen::internal::random<int>(200,600);
+    SparseMatrix<std::complex<double>,0, long> mat(n, n);
+    std::complex<double> val;
+
+    for(int i=0; i<n; ++i)
+    {
+      mat.coeffRef(i, i%(n/10)) = val;
+      VERIFY(mat.data().allocatedSize()<20*n);
+    }
+  }
+#endif
 }