diff --git a/libuavcan/include/uavcan/global_data_type_registry.hpp b/libuavcan/include/uavcan/global_data_type_registry.hpp index 9da1edd094..3d3d60cceb 100644 --- a/libuavcan/include/uavcan/global_data_type_registry.hpp +++ b/libuavcan/include/uavcan/global_data_type_registry.hpp @@ -75,11 +75,17 @@ public: return RegistResultFrozen; static Entry entry; - const RegistResult remove_res = remove(&entry); - if (remove_res != RegistResultOk) - return remove_res; - + { + const RegistResult remove_res = remove(&entry); + if (remove_res != RegistResultOk) + return remove_res; + } entry = Entry(DataTypeKind(Type::DataTypeKind), id, Type::getDataTypeSignature(), Type::getDataTypeFullName()); + { + const RegistResult remove_res = remove(&entry); + if (remove_res != RegistResultOk) + return remove_res; + } return registImpl(&entry); }