The bug in the test code was because we were creating temporary Elemental matrices without specifying the size, which resulted in creation of zero size matrices. Elemental does not automatically resize zero-sized matrices when you use them as the result of a multiply operation. The right way to do this is to have another function in MatrixAdaptor that creates an unintialized matrix of specified size instead of assuming that there will be a copy constructor or a default constructor. All declarations of the form MT foo(bar); and MT foo; should be eliminated and should go through the adaptor class