diff --git a/src/pe/rigidbody/BoxFactory.cpp b/src/pe/rigidbody/BoxFactory.cpp
index 0a8bb3082a98480f4d0af3566ca8f73ab47d5ddf..6473eaa18e60f971b71d31614cdd3cb13b82889e 100644
--- a/src/pe/rigidbody/BoxFactory.cpp
+++ b/src/pe/rigidbody/BoxFactory.cpp
@@ -34,6 +34,8 @@ BoxID createBox(       BodyStorage& globalStorage, BlockStorage& blocks, BlockDa
                        MaterialID material,
                        bool global, bool communicating, bool infiniteMass )
 {
+   WALBERLA_ASSERT_UNEQUAL( Box::getStaticTypeID(), std::numeric_limits<id_t>::max(), "Box TypeID not initalized!");
+
    // Checking the side lengths
    if( lengths[0] <= real_t(0) || lengths[1] <= real_t(0) || lengths[2] <= real_t(0) )
       throw std::invalid_argument( "Invalid side length" );
diff --git a/src/pe/rigidbody/CapsuleFactory.cpp b/src/pe/rigidbody/CapsuleFactory.cpp
index 75393bb46262695e589995e1d9cb7d2050e12181..44b7839d11d8587d6415f9d0d52d3c885a4e6b23 100644
--- a/src/pe/rigidbody/CapsuleFactory.cpp
+++ b/src/pe/rigidbody/CapsuleFactory.cpp
@@ -34,6 +34,8 @@ CapsuleID createCapsule(   BodyStorage& globalStorage, BlockStorage& blocks, Blo
                            MaterialID material,
                            bool global, bool communicating, bool infiniteMass )
 {
+   WALBERLA_ASSERT_UNEQUAL( Capsule::getStaticTypeID(), std::numeric_limits<id_t>::max(), "Capsule TypeID not initalized!");
+
    // Checking the radius and the length
    WALBERLA_ASSERT_GREATER( radius, real_t(0), "Invalid capsule radius" );
    WALBERLA_ASSERT_GREATER( length, real_t(0), "Invalid capsule length" );
diff --git a/src/pe/rigidbody/PlaneFactory.cpp b/src/pe/rigidbody/PlaneFactory.cpp
index cc5377452f5e6aaa2446e4d55c6eacc749aaf64f..f1bee615c9e357991f8ba4a8819c6896a41b4cab 100644
--- a/src/pe/rigidbody/PlaneFactory.cpp
+++ b/src/pe/rigidbody/PlaneFactory.cpp
@@ -33,6 +33,8 @@ namespace pe {
 
 PlaneID createPlane( BodyStorage& globalStorage, id_t uid, Vec3 normal, const Vec3& gpos, MaterialID material)
 {
+   WALBERLA_ASSERT_UNEQUAL( Plane::getStaticTypeID(), std::numeric_limits<id_t>::max(), "Plane TypeID not initalized!");
+
    // Checking the normal of the plane
    if( floatIsEqual(normal.sqrLength(), real_c(0) ) )
       throw std::invalid_argument( "Invalid plane normal!" );
diff --git a/src/pe/rigidbody/SphereFactory.cpp b/src/pe/rigidbody/SphereFactory.cpp
index 92edd0b056f1717064b724f0b08643bc8f514f11..c9487031def01e2876e0d2bf6d341c1e9681825b 100644
--- a/src/pe/rigidbody/SphereFactory.cpp
+++ b/src/pe/rigidbody/SphereFactory.cpp
@@ -34,6 +34,7 @@ SphereID createSphere( BodyStorage& globalStorage, BlockStorage& blocks, BlockDa
                        MaterialID material,
                        bool global, bool communicating, bool infiniteMass )
 {
+   WALBERLA_ASSERT_UNEQUAL( Sphere::getStaticTypeID(), std::numeric_limits<id_t>::max(), "Sphere TypeID not initalized!");
    // Checking the radius
    if( radius <= real_c(0) )
       throw std::invalid_argument( "Invalid sphere radius" );