diff --git a/src/state_block/state_block.cpp b/src/state_block/state_block.cpp
index 372be5112007c16206b91c1348d41557439a1b65..030febd46ba50917d8681bd2ce3bb6ee8be55e23 100644
--- a/src/state_block/state_block.cpp
+++ b/src/state_block/state_block.cpp
@@ -66,6 +66,7 @@ WOLF_REGISTER_STATEBLOCK(StateBlock);
 WOLF_REGISTER_STATEBLOCK(StateQuaternion);
 WOLF_REGISTER_STATEBLOCK(StateAngle);
 WOLF_REGISTER_STATEBLOCK(StateHomogeneous3d);
+WOLF_REGISTER_STATEBLOCK_WITH_KEY(H, StateHomogeneous3d);
 
 StateBlockPtr create_orientation(const Eigen::VectorXd& _state, bool _fixed)
 {
diff --git a/test/gtest_factory_state_block.cpp b/test/gtest_factory_state_block.cpp
index a915b061e96fd8f57bdea029981967cd3f3b28a0..fbded073c2e9a226c0f66b1feb34388bd5c06dfc 100644
--- a/test/gtest_factory_state_block.cpp
+++ b/test/gtest_factory_state_block.cpp
@@ -111,6 +111,15 @@ TEST(FactoryStateBlock, creator_Homogeneous3d)
     ASSERT_TRUE(sbh->hasLocalParametrization());
 }
 
+TEST(FactoryStateBlock, creator_H)
+{
+    auto sbh = FactoryStateBlock::get().create("H", Eigen::Vector4d(1,2,3,4), false);
+
+    ASSERT_EQ(sbh->getSize()     , 4);
+    ASSERT_EQ(sbh->getLocalSize(), 3);
+    ASSERT_TRUE(sbh->hasLocalParametrization());
+}
+
 TEST(FactoryStateBlock, creator_O_is_quaternion)
 {
     auto sbq = FactoryStateBlock::get().create("O", Eigen::Vector4d(1,2,3,4), false);