diff --git a/Base/Axis/Frame.cpp b/Base/Axis/Frame.cpp
index f6d4d02cd0439efaaff94699a9abf3e5b6cc5869..ff8aec386b1d68f5d8ae53daa17ff3817f241014 100644
--- a/Base/Axis/Frame.cpp
+++ b/Base/Axis/Frame.cpp
@@ -41,13 +41,9 @@ Bin1D Frame::projectedBin(size_t i_flat, size_t k_axis) const
 
 std::vector<int> Frame::allIndices(size_t i_flat) const
 {
-    size_t remainder = i_flat;
     std::vector<int> result(rank());
-    for (size_t k = 0; k < rank(); ++k) {
-        size_t kk = rank() - 1 - k;
-        result[kk] = (int)(remainder % m_axes[kk]->size());
-        remainder /= m_axes[kk]->size();
-    }
+    for (size_t k = 0; k < rank(); ++k)
+        result[k] = projectedIndex(i_flat, k);
     return result;
 }