diff --git a/gui/src/components/Repo.js b/gui/src/components/Repo.js
index 3725ca2ad55174899a49ec33f0bc904d114cb6aa..a6852618153da77b50c4218e7310cf837cffe5fc 100644
--- a/gui/src/components/Repo.js
+++ b/gui/src/components/Repo.js
@@ -8,7 +8,7 @@ import TablePagination from '@material-ui/core/TablePagination'
 import TableRow from '@material-ui/core/TableRow'
 import Paper from '@material-ui/core/Paper'
 import { TableHead, LinearProgress, FormControl, FormControlLabel, Checkbox, FormGroup,
-  FormLabel, IconButton, MuiThemeProvider, Typography, Tooltip, TableSortLabel, ExpansionPanelDetails, ExpansionPanelSummary, ExpansionPanel, Grid, CircularProgress } from '@material-ui/core'
+  FormLabel, IconButton, MuiThemeProvider, Typography, Tooltip, TableSortLabel, ExpansionPanelDetails, ExpansionPanelSummary, ExpansionPanel, Grid } from '@material-ui/core'
 import { compose } from 'recompose'
 import { withErrors } from './errors'
 import AnalyticsIcon from '@material-ui/icons/Settings'
diff --git a/nomad/datamodel.py b/nomad/datamodel.py
index 3b51af46e4671b457dc360ee75091b8b1132016e..44cb843825202bacb97c32f979951b466bea293a 100644
--- a/nomad/datamodel.py
+++ b/nomad/datamodel.py
@@ -148,7 +148,13 @@ class CalcWithMetadata():
 
     def update(self, **kwargs):
         for key, value in kwargs.items():
+            if value is None:
+                continue
+
             if isinstance(value, list):
+                if len(value) == 0:
+                    continue
+
                 if len(value) > 0 and isinstance(value[0], dict) and not isinstance(value[0], utils.POPO):
                     value = list(utils.POPO(**item) for item in value)
             if isinstance(value, dict) and not isinstance(value, utils.POPO):
diff --git a/tests/test_api.py b/tests/test_api.py
index 052da11111ebac946c4f6919f4dd1e735e2600e5..a3d9d7790bb7b3417b52cbc65bcca56147e9807a 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -226,7 +226,7 @@ class TestUploads:
 
         upload_with_metadata = get_upload_with_metadata(upload)
         assert_upload_files(upload_with_metadata, files.StagingUploadFiles)
-        assert_search_upload(upload_with_metadata)
+        assert_search_upload(upload_with_metadata, additional_keys=['atoms', 'system'])
 
     def assert_published(self, client, test_user_auth, upload_id, proc_infra, with_coe_repo=True, metadata={}):
         rv = client.get('/uploads/%s' % upload_id, headers=test_user_auth)