diff --git a/pyproject.toml b/pyproject.toml
index f4da17da608d74013a0dd25b7abcac5af48c4c90..b51c8aacf622457bdca8aa2baddcf2e00b806c11 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -28,7 +28,7 @@ dependencies = [
     'jmespath>=0.10.0',
     'lxml>=5.2',
     'lxml-html-clean>=0.1.0',
-    'matid>=2.1.2',
+    'matid>=2.1.3',
     'nptyping~=1.4.4',
     'numpy>=1.22.4,<2.0.0',
     'openpyxl>=3.0.0',
diff --git a/requirements-dev.txt b/requirements-dev.txt
index a2b20c19e6efa4aa7417344525ccf2fb830b9519..699212f89d12a391b147a8f7c64fed0a5630df18 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -5,7 +5,7 @@ alabaster==1.0.0          # via sphinx, -r requirements.txt
 alembic==1.13.3           # via jupyterhub, -r requirements.txt
 amqp==5.2.0               # via kombu, -r requirements.txt
 aniso8601==9.0.1          # via -r requirements.txt, nomad-lab (pyproject.toml)
-anyio==4.6.0              # via httpx, starlette, watchfiles, -r requirements.txt
+anyio==4.6.2              # via httpx, starlette, watchfiles, -r requirements.txt
 arrow==1.3.0              # via isoduration, -r requirements.txt
 ase==3.22.1               # via matid, -r requirements.txt, nomad-lab (pyproject.toml)
 asgiref==3.8.1            # via -r requirements.txt, nomad-lab (pyproject.toml)
@@ -19,7 +19,7 @@ bagit==1.8.1              # via -r requirements.txt, nomad-lab (pyproject.toml)
 basicauth==0.4.1          # via -r requirements.txt, nomad-lab (pyproject.toml)
 beautifulsoup4==4.12.3    # via -r requirements.txt, nomad-lab (pyproject.toml)
 billiard==4.2.1           # via celery, -r requirements.txt
-bitarray==2.9.2           # via -r requirements.txt, nomad-lab (pyproject.toml)
+bitarray==2.9.3           # via -r requirements.txt, nomad-lab (pyproject.toml)
 cachetools==5.5.0         # via -r requirements.txt, nomad-lab (pyproject.toml)
 celery==5.4.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
 certifi==2024.8.30        # via elasticsearch, httpcore, httpx, netcdf4, requests, -r requirements.txt
@@ -34,7 +34,7 @@ click-repl==0.3.0         # via celery, -r requirements.txt
 colorama==0.4.6           # via click, mkdocs, mkdocs-material, pytest, sphinx, tqdm, uvicorn, -r requirements.txt
 commonmark==0.9.1         # via recommonmark, -r requirements.txt
 contourpy==1.3.0          # via matplotlib, -r requirements.txt
-coverage==7.6.2           # via pytest-cov
+coverage==7.6.3           # via pytest-cov
 cryptography==43.0.1      # via certipy, jwcrypto, pyjwt, rfc3161ng, -r requirements.txt
 cycler==0.12.1            # via matplotlib, -r requirements.txt
 decorator==5.1.1          # via validators, -r requirements.txt
@@ -97,7 +97,7 @@ m2r==0.2.1                # via -r requirements.txt, nomad-lab (pyproject.toml)
 mako==1.3.5               # via alembic, -r requirements.txt
 markdown==3.7             # via mkdocs, mkdocs-click, mkdocs-material, pymdown-extensions
 markupsafe==3.0.1         # via jinja2, mako, mkdocs, -r requirements.txt, nomad-lab (pyproject.toml)
-matid==2.1.2              # via -r requirements.txt, nomad-lab (pyproject.toml)
+matid==2.1.3              # via -r requirements.txt, nomad-lab (pyproject.toml)
 matplotlib==3.9.2         # via ase, pymatgen, -r requirements.txt
 mda-xdrlib==0.2.0         # via pyedr, -r requirements.txt
 mergedeep==1.3.4          # via mkdocs, mkdocs-get-deps
@@ -107,7 +107,7 @@ mkdocs-click==0.8.1       # via nomad-lab (pyproject.toml)
 mkdocs-get-deps==0.2.0    # via mkdocs
 mkdocs-git-revision-date-localized-plugin==1.2.9  # via nomad-lab (pyproject.toml)
 mkdocs-glightbox==0.4.0   # via nomad-lab (pyproject.toml)
-mkdocs-macros-plugin==1.3.4  # via nomad-lab (pyproject.toml)
+mkdocs-macros-plugin==1.3.5  # via nomad-lab (pyproject.toml)
 mkdocs-material==9.5.40   # via nomad-lab (pyproject.toml)
 mkdocs-material-extensions==1.3.1  # via mkdocs-material, nomad-lab (pyproject.toml)
 mkdocs-redirects==1.2.1   # via nomad-lab (pyproject.toml)
@@ -120,7 +120,7 @@ mypy==1.0.1               # via nomad-lab (pyproject.toml)
 mypy-extensions==1.0.0    # via mypy
 names==0.3.0              # via nomad-lab (pyproject.toml)
 netcdf4==1.6.5            # via -r requirements.txt, nomad-lab (pyproject.toml)
-networkx==3.3             # via matid, pymatgen, -r requirements.txt
+networkx==3.4.1           # via matid, pymatgen, -r requirements.txt
 nomad-openbis==1.0.0      # via -r requirements.txt, nomad-lab (pyproject.toml)
 nptyping==1.4.4           # via -r requirements.txt, nomad-lab (pyproject.toml)
 numpy==1.26.4             # via ase, cftime, contourpy, h5grove, h5py, matid, matplotlib, netcdf4, nptyping, pandas, pyedr, pymatgen, rdkit, scikit-learn, scipy, spglib, tifffile, xarray, -r requirements.txt, nomad-lab (pyproject.toml)
@@ -156,7 +156,7 @@ pyjwt==2.6.0              # via -r requirements.txt, nomad-lab (pyproject.toml)
 pymatgen==2024.5.1        # via -r requirements.txt, nomad-lab (pyproject.toml)
 pymdown-extensions==10.11.2  # via mkdocs-material
 pymongo==4.6.3            # via mongoengine, optimade, -r requirements.txt, nomad-lab (pyproject.toml)
-pyparsing==3.1.4          # via matplotlib, rdflib, -r requirements.txt
+pyparsing==3.2.0          # via matplotlib, rdflib, -r requirements.txt
 pyrsistent==0.20.0        # via jsonschema, -r requirements.txt
 pytest==7.4.4             # via pytest-asyncio, pytest-cov, pytest-split, pytest-timeout, pytest-xdist, nomad-lab (pyproject.toml)
 pytest-asyncio==0.23.8    # via nomad-lab (pyproject.toml)
@@ -174,7 +174,7 @@ python-magic==0.4.24      # via -r requirements.txt, nomad-lab (pyproject.toml)
 python-magic-bin==0.4.14 ; sys_platform == 'win32'  # via -r requirements.txt, nomad-lab (pyproject.toml)
 python-multipart==0.0.12  # via -r requirements.txt, nomad-lab (pyproject.toml)
 pytz==2024.2              # via mkdocs-git-revision-date-localized-plugin, mongomock, pandas, -r requirements.txt, nomad-lab (pyproject.toml)
-pywin32==307 ; sys_platform == 'win32'  # via docker, -r requirements.txt
+pywin32==308 ; sys_platform == 'win32'  # via docker, -r requirements.txt
 pyyaml==6.0.2             # via mkdocs, mkdocs-get-deps, mkdocs-macros-plugin, pybtex, pymdown-extensions, pyyaml-env-tag, uvicorn, -r requirements.txt, nomad-lab (pyproject.toml)
 pyyaml-env-tag==0.1       # via mkdocs
 rdflib==5.0.0             # via -r requirements.txt, nomad-lab (pyproject.toml)
@@ -200,7 +200,7 @@ sniffio==1.3.1            # via anyio, httpx, -r requirements.txt
 snowballstemmer==2.2.0    # via sphinx, -r requirements.txt
 soupsieve==2.6            # via beautifulsoup4, -r requirements.txt
 spglib==2.5.0             # via matid, pymatgen, -r requirements.txt
-sphinx==8.0.2             # via recommonmark, -r requirements.txt
+sphinx==8.1.3             # via recommonmark, -r requirements.txt
 sphinxcontrib-applehelp==2.0.0  # via sphinx, -r requirements.txt
 sphinxcontrib-devhelp==2.0.0  # via sphinx, -r requirements.txt
 sphinxcontrib-htmlhelp==2.1.0  # via sphinx, -r requirements.txt
@@ -210,7 +210,7 @@ sphinxcontrib-serializinghtml==2.0.0  # via sphinx, -r requirements.txt
 sqlalchemy==2.0.35        # via alembic, jupyterhub, -r requirements.txt
 starlette==0.27.0         # via fastapi, -r requirements.txt
 structlog==24.4.0         # via -r requirements.txt, nomad-lab (pyproject.toml)
-super-collections==0.5.0  # via mkdocs-macros-plugin
+super-collections==0.5.3  # via mkdocs-macros-plugin
 sympy==1.13.3             # via pymatgen, -r requirements.txt
 tabulate==0.8.9           # via nomad-openbis, pymatgen, -r requirements.txt, nomad-lab (pyproject.toml)
 tenacity==9.0.0           # via plotly, -r requirements.txt
diff --git a/requirements-plugins.txt b/requirements-plugins.txt
index a6e3b1f2465cc64a6f0d17afda323f5a983b4afc..d1d13bc8af764b42b5e72ac1cf47786c77539368 100644
--- a/requirements-plugins.txt
+++ b/requirements-plugins.txt
@@ -1,7 +1,7 @@
 # This file was autogenerated by uv via the following command:
 #    uv pip compile --universal -p 3.11 --annotation-style=line --output-file=requirements-plugins.txt --unsafe-package nomad-lab -c requirements-dev.txt default_plugins.txt
 aniso8601==9.0.1          # via nomad-lab, -c requirements-dev.txt
-anyio==4.6.0              # via httpx, jupyter-server, -c requirements-dev.txt
+anyio==4.6.2              # via httpx, jupyter-server, -c requirements-dev.txt
 anytree==2.12.1           # via pynxtools
 appnope==0.1.4 ; platform_system == 'Darwin'  # via ipykernel
 argon2-cffi==23.1.0       # via jupyter-server
@@ -17,7 +17,7 @@ async-property==0.2.2     # via python-keycloak, -c requirements-dev.txt
 attrs==24.2.0             # via jsonschema, -c requirements-dev.txt
 babel==2.16.0             # via jupyterlab-server, -c requirements-dev.txt
 beautifulsoup4==4.12.3    # via nbconvert, -c requirements-dev.txt
-bitarray==2.9.2           # via nomad-lab, -c requirements-dev.txt
+bitarray==2.9.3           # via nomad-lab, -c requirements-dev.txt
 bleach==6.1.0             # via nbconvert
 blinker==1.8.2            # via flask
 blosc2==2.7.1             # via tables
@@ -112,7 +112,7 @@ locket==1.0.0             # via partd
 lxml==5.3.0               # via fabio, lxml-html-clean, nomad-lab, nomad-parser-plugins-atomistic, nomad-parser-plugins-electronic, nomad-parser-plugins-workflow, pynxtools, -c requirements-dev.txt
 lxml-html-clean==0.3.1    # via nomad-lab, perovskite-solar-cell-database, -c requirements-dev.txt
 markupsafe==3.0.1         # via jinja2, nbconvert, werkzeug, -c requirements-dev.txt
-matid==2.1.2              # via nomad-lab, nomad-simulations, -c requirements-dev.txt
+matid==2.1.3              # via nomad-lab, nomad-simulations, -c requirements-dev.txt
 matplotlib==3.9.2         # via ase, asr, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, phonopy, pyfai, pymatgen, pyxem, radioactivedecay, -c requirements-dev.txt
 matplotlib-inline==0.1.7  # via ipykernel, ipython
 matplotlib-scalebar==0.8.1  # via orix
@@ -132,7 +132,7 @@ nbformat==5.10.4          # via jupyter-server, nbclient, nbconvert
 ndindex==1.9.2            # via blosc2
 nest-asyncio==1.6.0       # via ipykernel
 netcdf4==1.6.5            # via nomad-parser-plugins-electronic, -c requirements-dev.txt
-networkx==3.3             # via matid, nomad-schema-plugin-simulation-workflow, pymatgen, radioactivedecay, scikit-image, -c requirements-dev.txt
+networkx==3.4.1           # via matid, nomad-schema-plugin-simulation-workflow, pymatgen, radioactivedecay, scikit-image, -c requirements-dev.txt
 niondata==15.6.3          # via nionswift, nionswift-io
 nionswift==16.11.0        # via pynxtools-em
 nionswift-io==15.2.1      # via nionswift
@@ -208,7 +208,7 @@ pynxtools-raman==0.0.1    # via pynxtools
 pynxtools-stm==1.0.5      # via pynxtools
 pynxtools-xps==0.4.2      # via pynxtools
 pynxtools-xrd==0.0.2      # via pynxtools
-pyparsing==3.1.4          # via matplotlib, -c requirements-dev.txt
+pyparsing==3.2.0          # via matplotlib, -c requirements-dev.txt
 pyrsistent==0.20.0        # via jsonschema, -c requirements-dev.txt
 python-box==7.2.0         # via rosettasciio
 python-dateutil==2.9.0.post0  # via arrow, elasticsearch-dsl, hyperspy, ipyparallel, jupyter-client, matplotlib, pandas, rfc3161ng, rosettasciio, -c requirements-dev.txt
@@ -216,7 +216,7 @@ python-json-logger==2.0.2  # via jupyter-events, -c requirements-dev.txt
 python-keycloak==4.6.2    # via nomad-lab, -c requirements-dev.txt
 python-magic==0.4.24      # via nomad-lab, -c requirements-dev.txt
 pytz==2024.2              # via nionswift, nomad-lab, pandas, -c requirements-dev.txt
-pywin32==307 ; platform_python_implementation != 'PyPy' and sys_platform == 'win32'  # via jupyter-core, -c requirements-dev.txt
+pywin32==308 ; platform_python_implementation != 'PyPy' and sys_platform == 'win32'  # via jupyter-core, -c requirements-dev.txt
 pywinpty==2.0.13 ; os_name == 'nt'  # via jupyter-server, jupyter-server-terminals, terminado
 pyxem==0.16.0             # via pynxtools-em
 pyyaml==6.0.2             # via dask, hyperspy, jupyter-events, kikuchipy, nomad-lab, nomad-parser-plugins-electronic, phonopy, pybtex, pynxtools, rosettasciio, -c requirements-dev.txt
diff --git a/requirements.txt b/requirements.txt
index 3329858a4828b6c391dc0822355f25dfb438f962..5d44e05d3df6f6f42e12f7eee6c5b0c7bd1ca54d 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,7 +4,7 @@ alabaster==1.0.0          # via sphinx
 alembic==1.13.3           # via jupyterhub
 amqp==5.2.0               # via kombu
 aniso8601==9.0.1          # via nomad-lab (pyproject.toml)
-anyio==4.6.0              # via httpx, starlette, watchfiles
+anyio==4.6.2              # via httpx, starlette, watchfiles
 arrow==1.3.0              # via isoduration
 ase==3.22.1               # via matid, nomad-lab (pyproject.toml)
 asgiref==3.8.1            # via nomad-lab (pyproject.toml)
@@ -16,7 +16,7 @@ bagit==1.8.1              # via nomad-lab (pyproject.toml)
 basicauth==0.4.1          # via nomad-lab (pyproject.toml)
 beautifulsoup4==4.12.3    # via nomad-lab (pyproject.toml)
 billiard==4.2.1           # via celery
-bitarray==2.9.2           # via nomad-lab (pyproject.toml)
+bitarray==2.9.3           # via nomad-lab (pyproject.toml)
 cachetools==5.5.0         # via nomad-lab (pyproject.toml)
 celery==5.4.0             # via nomad-lab (pyproject.toml)
 certifi==2024.8.30        # via elasticsearch, httpcore, httpx, netcdf4, requests
@@ -86,7 +86,7 @@ lxml-html-clean==0.3.1    # via nomad-lab (pyproject.toml)
 m2r==0.2.1                # via nomad-lab (pyproject.toml)
 mako==1.3.5               # via alembic
 markupsafe==3.0.1         # via jinja2, mako
-matid==2.1.2              # via nomad-lab (pyproject.toml)
+matid==2.1.3              # via nomad-lab (pyproject.toml)
 matplotlib==3.9.2         # via ase, pymatgen
 mda-xdrlib==0.2.0         # via pyedr
 mistune==3.0.2            # via m2r
@@ -96,7 +96,7 @@ monty==2024.7.30          # via pymatgen
 mpmath==1.3.0             # via sympy
 msgpack==1.1.0            # via nomad-lab (pyproject.toml)
 netcdf4==1.6.5            # via nomad-lab (pyproject.toml)
-networkx==3.3             # via matid, pymatgen
+networkx==3.4.1           # via matid, pymatgen
 nomad-openbis==1.0.0      # via nomad-lab (pyproject.toml)
 nptyping==1.4.4           # via nomad-lab (pyproject.toml)
 numpy==1.26.4             # via ase, cftime, contourpy, h5grove, h5py, matid, matplotlib, netcdf4, nptyping, pandas, pyedr, pymatgen, rdkit, scikit-learn, scipy, spglib, tifffile, xarray, nomad-lab (pyproject.toml)
@@ -127,7 +127,7 @@ pygments==2.18.0          # via sphinx
 pyjwt==2.6.0              # via nomad-lab (pyproject.toml)
 pymatgen==2024.5.1        # via nomad-lab (pyproject.toml)
 pymongo==4.6.3            # via mongoengine, optimade, nomad-lab (pyproject.toml)
-pyparsing==3.1.4          # via matplotlib, rdflib
+pyparsing==3.2.0          # via matplotlib, rdflib
 pyrsistent==0.20.0        # via jsonschema
 python-dateutil==2.9.0.post0  # via arrow, celery, elasticsearch-dsl, jupyterhub, matplotlib, nomad-openbis, pandas, rfc3161ng
 python-dotenv==1.0.1      # via uvicorn
@@ -138,7 +138,7 @@ python-magic==0.4.24      # via nomad-lab (pyproject.toml)
 python-magic-bin==0.4.14 ; sys_platform == 'win32'  # via nomad-lab (pyproject.toml)
 python-multipart==0.0.12  # via nomad-lab (pyproject.toml)
 pytz==2024.2              # via mongomock, pandas, nomad-lab (pyproject.toml)
-pywin32==307 ; sys_platform == 'win32'  # via docker
+pywin32==308 ; sys_platform == 'win32'  # via docker
 pyyaml==6.0.2             # via pybtex, uvicorn, nomad-lab (pyproject.toml)
 rdflib==5.0.0             # via nomad-lab (pyproject.toml)
 rdkit==2023.9.5           # via nomad-lab (pyproject.toml)
@@ -160,7 +160,7 @@ sniffio==1.3.1            # via anyio, httpx
 snowballstemmer==2.2.0    # via sphinx
 soupsieve==2.6            # via beautifulsoup4
 spglib==2.5.0             # via matid, pymatgen
-sphinx==8.0.2             # via recommonmark
+sphinx==8.1.3             # via recommonmark
 sphinxcontrib-applehelp==2.0.0  # via sphinx
 sphinxcontrib-devhelp==2.0.0  # via sphinx
 sphinxcontrib-htmlhelp==2.1.0  # via sphinx
diff --git a/tests/normalizing/test_material.py b/tests/normalizing/test_material.py
index d845fcf8d5e4096d165706b0fa7dcae276c9a265..c2b9289da2f68eb3c767fcfd0c2ea6bbf058dcb1 100644
--- a/tests/normalizing/test_material.py
+++ b/tests/normalizing/test_material.py
@@ -421,7 +421,7 @@ two_d_split_expected = Atoms(
     pbc=[True, True, False],
 )
 two_d_swap = Atoms(
-    symbols=['B', 'N'],
+    symbols=['B', 'H'],
     positions=[
         [0, 0, 0],
         [-0.6, 0.3, 0],
@@ -430,7 +430,7 @@ two_d_swap = Atoms(
     pbc=True,
 )
 two_d_swap_expected = Atoms(
-    symbols=['B', 'N'],
+    symbols=['B', 'H'],
     positions=[
         [0, 0, 0.67082039],
         [0, 0, 0],
@@ -464,7 +464,10 @@ def test_conventional_structure(atoms, expected, monkeypatch):
     """Tests that the conventional structure has the correct form."""
     monkeypatch.setattr(
         'nomad.normalizing.topology.top_50k_material_ids',
-        {'upphbIG7rwgpi5sAvc9-z3GT1MCO': 1, 'nikqWRhuLtW8p8rPILRL60yQlf1C': 1},
+        {
+            'nikqWRhuLtW8p8rPILRL60yQlf1C': 1,
+            'R2G5lRApZZD9dzBpXcZXbGQbsZDi': 1,
+        },
     )
     entry = get_template_for_structure(atoms)
     topology = entry.results.material.topology