diff --git a/Device/Data/Powerfield.h b/Device/Data/Powerfield.h
index c169beb900ff012761ba49160b46995739d89896..62d6ac1d4ff1b1b8092a21c14f7dca00776197c3 100644
--- a/Device/Data/Powerfield.h
+++ b/Device/Data/Powerfield.h
@@ -264,6 +264,7 @@ template <class T>
 Powerfield<T>::Powerfield(const IAxis& xAxis)
     : IField({xAxis.clone()})
 {
+    ASSERT(xAxis.size() > 0);
     allocate();
 }
 
@@ -271,6 +272,8 @@ template <class T>
 Powerfield<T>::Powerfield(const IAxis& xAxis, const IAxis& yAxis)
     : IField({xAxis.clone(), yAxis.clone()})
 {
+    ASSERT(xAxis.size() > 0);
+    ASSERT(yAxis.size() > 0);
     allocate();
 }
 
@@ -336,10 +339,9 @@ template <class T>
 void Powerfield<T>::addAxis(const IAxis& new_axis)
 {
     ASSERT(!axisNameExists(new_axis.axisName()));
-    if (new_axis.size() > 0) {
-        m_axes.emplace_back(new_axis.clone());
-        allocate();
-    }
+    ASSERT(new_axis.size() > 0);
+    m_axes.emplace_back(new_axis.clone());
+    allocate();
 }
 
 template <class T>