diff --git a/src/UnitTests/Containers/ArrayViewTest.h b/src/UnitTests/Containers/ArrayViewTest.h
index 046d10619bb409517023135581c617dcf1159063..50c8d624beef537da461222e6671ece572280a75 100644
--- a/src/UnitTests/Containers/ArrayViewTest.h
+++ b/src/UnitTests/Containers/ArrayViewTest.h
@@ -306,20 +306,20 @@ TYPED_TEST( ArrayViewTest, elementwiseAccess )
    testArrayViewElementwiseAccess( ArrayType() );
 }
 
-TYPED_TEST( ArrayViewTest, evaluate )
+template< typename ArrayType >
+void ArrayViewEvaluateTest( ArrayType& u )
 {
-   using ArrayType = typename TestFixture::ArrayType;
    using ValueType = typename ArrayType::ValueType;
    using DeviceType = typename ArrayType::DeviceType;
    using IndexType = typename ArrayType::IndexType;
    using ViewType = ArrayView< ValueType, DeviceType, IndexType >;
-   ArrayType u( 10 );
    ViewType v( u );
-   
+
    auto f = [] __cuda_callable__ ( IndexType i )
    {
       return 3 * i % 4;
    };
+   
    v.evaluate( f );
    for( int i = 0; i < 10; i++ )
    {
@@ -328,6 +328,13 @@ TYPED_TEST( ArrayViewTest, evaluate )
    }
 }
 
+TYPED_TEST( ArrayViewTest, evaluate )
+{
+   using ArrayType = typename TestFixture::ArrayType;
+   ArrayType u( 10 );
+   ArrayViewEvaluateTest( u );
+}
+
 TYPED_TEST( ArrayViewTest, containsValue )
 {
    using ArrayType = typename TestFixture::ArrayType;