diff --git a/Device/Data/Datafield.cpp b/Device/Data/Datafield.cpp
index 611181165c861cd4d45aa13fc6f2ab14eae57eff..d1eeee12421911e02777a38427a0d0a5c98e06d8 100644
--- a/Device/Data/Datafield.cpp
+++ b/Device/Data/Datafield.cpp
@@ -413,19 +413,5 @@ Datafield Datafield::normalizedToMax() const
 
 double2d_t Datafield::values2D() const
 {
-    ASSERT(rank() == 2);
-    double2d_t result;
-
-    const size_t nrows = axis(1).size();
-    const size_t ncols = axis(0).size();
-
-    result.resize(nrows);
-
-    for (size_t row = 0; row < nrows; ++row) {
-        result[row].resize(ncols, 0.0);
-        for (size_t col = 0; col < ncols; ++col)
-            result[row][col] = m_values[row * ncols + col];
-    }
-
-    return result;
+    return FieldUtil::reshapeTo2D(m_values, axis(1).size());
 }