diff --git a/src/device.cc b/src/device.cc
index 19a83f130ec1f321d79cdaab8c78e2be1648ad05..517d970f5862a61d2fc12191d6a767fe7e274a96 100644
--- a/src/device.cc
+++ b/src/device.cc
@@ -94,6 +94,8 @@ namespace hpp {
 
       frameCacheSize_ = model().frames.size();
       add (name, newF);
+      createData();
+      createGeomData();
     }
 
     std::ostream& Device::print (std::ostream& os) const