diff --git a/src/UnitTests/Matrices/MultidiagonalMatrixTest.h b/src/UnitTests/Matrices/MultidiagonalMatrixTest.h
index 21a836d2d64b08ff0a51914c1040ede8c451c6eb..49bcfa11c44d6adb5be20013a2bd2064febd208e 100644
--- a/src/UnitTests/Matrices/MultidiagonalMatrixTest.h
+++ b/src/UnitTests/Matrices/MultidiagonalMatrixTest.h
@@ -159,7 +159,7 @@ void test_GetCompressedRowLengths()
     *    |  0  0  0  0  1  0  1  0 |  -> 2
     *    \  0  0  0  0  0  1  0  0 /  -> 1
     */
-   
+
    const IndexType rows = 8;
    const IndexType cols = 8;
 
@@ -354,22 +354,12 @@ void test_SetElement()
    RealType value = 1;
    for( IndexType i = 0; i < rows; i++ )
       for( IndexType j = 0; j < cols; j++ )
-      {
-         bool found( false );
-         for( IndexType k = 0; k < diagonals.getSize(); k++ )
-         {
-            if( i + diagonals[ k ] == j )
-            {
-               m.setElement( i, j, value++ );
-               found = true;
-               break;
-            }
-         }
-         if( ! found )
+         if( diagonals.containsValue( j - i ) )
+            m.setElement( i, j, value++ );
+         else
          {
             EXPECT_THROW( m.setElement( i, j, value++ ), std::logic_error );
          }
-      }
 
    EXPECT_EQ( m.getElement( 0, 0 ),  1 );
    EXPECT_EQ( m.getElement( 0, 1 ),  2 );
@@ -427,24 +417,16 @@ void test_AddElement()
    RealType value = 1;
    for( IndexType i = 0; i < rows; i++ )
       for( IndexType j = 0; j < cols; j++ )
-      {
-         bool found( false );
-         for( IndexType k = 0; k < diagonals.getSize(); k++ )
+         if( diagonals.containsValue( j - i ) )
          {
-            if( i + diagonals[ k ] == j )
-            {
-               if( j >= i )
-                  m.setElement( i, j, value++ );
-               else value++;
-               found = true;
-               break;
-            }
+            if( j >= i )
+               m.setElement( i, j, value );
+            value++;
          }
-         if( ! found )
+         else
          {
             EXPECT_THROW( m.setElement( i, j, value++ ), std::logic_error );
          }
-      }
 
    // Check the added elements
    EXPECT_EQ( m.getElement( 0, 0 ),  1 );
@@ -486,29 +468,19 @@ void test_AddElement()
     * 2 * |  0  0 13 14  0 | + |  0  0 13 14  0 | =  |  0  0 39 42  0 |
     *     |  0  0  0 19 20 |   | 16  0  0 19 20 |    | 16  0  0 57 60 |
     *     \  0  0  0  0 25 /   \  0 22  0  0 25 /    \  0 22  0  0 75 /
-    *     
+    *
     */
 
    value = 1;
    RealType multiplicator = 2;
    for( IndexType i = 0; i < rows; i++ )
       for( IndexType j = 0; j < cols; j++ )
-      {
-         bool found( false );
-         for( IndexType k = 0; k < diagonals.getSize(); k++ )
-         {
-            if( i + diagonals[ k ] == j )
-            {
-               m.addElement( i, j, value++, multiplicator );
-               found = true;
-               break;
-            }
-         }
-         if( ! found )
+         if( diagonals.containsValue( j - i ) )
+            m.addElement( i, j, value++, multiplicator );
+         else
          {
             EXPECT_THROW( m.addElement( i, j, value++, multiplicator ), std::logic_error );
          }
-      }
 
    EXPECT_EQ( m.getElement( 0, 0 ),  3 );
    EXPECT_EQ( m.getElement( 0, 1 ),  6 );