diff --git a/Base/Axis/Frame.cpp b/Base/Axis/Frame.cpp
index 02f87a3eeeed8a783fb7ae0bc2525053d13bb6fa..e46d6119d049d22f0be14fe3b69198bc59f3ac8e 100644
--- a/Base/Axis/Frame.cpp
+++ b/Base/Axis/Frame.cpp
@@ -20,7 +20,7 @@
 
 Frame::Frame(const CloneableVector<const Scale>& axes)
     : m_axes(axes)
-    , m_size(FrameUtil::product_size(m_axes.const_vector()))
+    , m_size(FrameUtil::product_size(m_axes.shared()))
 {
 }
 
@@ -46,7 +46,7 @@ Frame* Frame::clone() const
 void Frame::setAxes(CloneableVector<const Scale> axes)
 {
     std::swap(m_axes, axes);
-    m_size = FrameUtil::product_size(m_axes.const_vector());
+    m_size = FrameUtil::product_size(m_axes.shared());
 }
 
 size_t Frame::rank() const
@@ -149,5 +149,5 @@ Frame* Frame::flat() const
 void Frame::setScale(size_t k_axis, Scale* scale)
 {
     m_axes.replace_at(k_axis, scale);
-    m_size = FrameUtil::product_size(m_axes.const_vector());
+    m_size = FrameUtil::product_size(m_axes.shared());
 }
diff --git a/Base/Types/OwningVector.h b/Base/Types/OwningVector.h
index db225b4d76a3a7c888fef209396c744a25fa4f21..22b05a5cc2dc56ac6899ee39da81ab1f240e808d 100644
--- a/Base/Types/OwningVector.h
+++ b/Base/Types/OwningVector.h
@@ -67,7 +67,6 @@ public:
         return -1;
     }
 
-
     void delete_element(T* e)
     {
         if (!e)
@@ -132,11 +131,6 @@ public:
     }
 
     const std::vector<T*>& shared() const { return m_v; }
-    std::vector<const T*> const_vector() const
-    {
-        const std::vector<const T*> result(m_v.begin(), m_v.end());
-        return result;
-    }
     std::vector<T*> cloned_vector() const
     {
         std::vector<T*> result;