diff --git a/GUI/Models/MesoCrystalItem.h b/GUI/Models/MesoCrystalItem.h
index 7b90761a0f3dc69bc09a7c8779b2db348e08153d..8ffd628123d5dc8b73d4cbe27199058da7102b0d 100644
--- a/GUI/Models/MesoCrystalItem.h
+++ b/GUI/Models/MesoCrystalItem.h
@@ -74,6 +74,9 @@ template <typename T> T* MesoCrystalItem::setOuterShapeType()
 
 template <typename T> T* MesoCrystalItem::createBasis()
 {
+    static_assert(std::is_base_of<ItemWithParticles, T>::value,
+                  "Class must be derived from ItemWithParticles");
+
     if (basisParticle() != nullptr)
         model()->removeItem(basisParticle());
     return model()->insertItem<T>(this, -1, T_BASIS_PARTICLE);