diff --git a/src/structure.cpp b/src/structure.cpp
index acb4c1b1f274196c28eef965f109e40c1b81db98..e9ec6373c8b872af975c28a7ee6b237b90532da5 100644
--- a/src/structure.cpp
+++ b/src/structure.cpp
@@ -4,7 +4,9 @@
 #include <stdexcept>
 #include <cmath>
 
-Structure::Structure() {}
+Structure::Structure() {
+  PeriodicTable::initialize();
+}
 
 const Atom &Structure::operator()(const size_t i) const{
   return atoms[i];
diff --git a/src/structure_db.cpp b/src/structure_db.cpp
index f47b5e5e035015b94ddad6d9a2e28a5d3214daa0..c761f33f2bc107864cb2eaf1c735bfe3b32cb850 100644
--- a/src/structure_db.cpp
+++ b/src/structure_db.cpp
@@ -2,8 +2,11 @@
 #include <tadah/core/periodic_table.h>
 #include <cstdio>
 
-StructureDB::StructureDB() {}
+StructureDB::StructureDB() {
+  PeriodicTable::initialize();
+}
 StructureDB::StructureDB(Config &config) {
+  PeriodicTable::initialize();
   add(config);
 }