diff --git a/src/mesh/SubItemValuePerItem.hpp b/src/mesh/SubItemValuePerItem.hpp
index a842220b27db9f930f475d211273f6bb2a4ddcaa..aac434ffdf809452a89cf483d430e7ad20d8cd32 100644
--- a/src/mesh/SubItemValuePerItem.hpp
+++ b/src/mesh/SubItemValuePerItem.hpp
@@ -85,10 +85,8 @@ class SubItemValuePerItem
       return m_size;
     }
 
-    SubView(const SubView&) = delete;
-
-    PUGS_INLINE
-    SubView(SubView&&) noexcept = default;
+    SubView(const SubView&)     = delete;
+    SubView(SubView&&) noexcept = delete;
 
     PUGS_INLINE
     SubView(const Array<DataType>& values, size_t begin, size_t end) noexcept(NO_ASSERT)
@@ -97,6 +95,8 @@ class SubItemValuePerItem
       Assert(begin <= end);
       Assert(end <= values.size());
     }
+
+    ~SubView() = default;
   };
 
   friend PUGS_INLINE SubItemValuePerItem<std::remove_const_t<DataType>, ItemOfItem, ConnectivityPtr>