diff --git a/src/language/utils/SymbolTable.hpp b/src/language/utils/SymbolTable.hpp
index 6bcf267780884d1d8a1492b664ff492026ddd869..39d414b1e120255e9d51c17266512458fcc5f1b8 100644
--- a/src/language/utils/SymbolTable.hpp
+++ b/src/language/utils/SymbolTable.hpp
@@ -267,7 +267,12 @@ class SymbolTable
   clearValues()
   {
     for (auto& symbol : m_symbol_list) {
-      symbol.attributes().value() = DataVariant{};
+      std::visit(
+        [](auto&& value) {
+          using T = std::decay_t<decltype(value)>;
+          value   = T{};
+        },
+        symbol.attributes().value());
     }
   }