diff --git a/app/models.py b/app/models.py
index 6c333c9ab757453e6ccbfe86ef5dcb9579688d33..4a2690e9175402a8e0b3d5cc5c25bd58e4ab7c8d 100644
--- a/app/models.py
+++ b/app/models.py
@@ -49,17 +49,18 @@ def temporary_ics_ids():
 
 
 def used_temporary_ics_ids():
-    """Generator that returns the list of temporary ICS ids used"""
+    """Return a set with the temporary ICS ids used"""
     temporary_items = Item.query.filter(
         Item.ics_id.startswith(
             current_app.config['TEMPORARY_ICS_ID'])).all()
-    return (item.ics_id for item in temporary_items)
+    return {item.ics_id for item in temporary_items}
 
 
 def get_temporary_ics_id():
     """Return a temporary ICS id that is available"""
+    used_temp_ics_ids = used_temporary_ics_ids()
     for ics_id in temporary_ics_ids():
-        if ics_id not in used_temporary_ics_ids():
+        if ics_id not in used_temp_ics_ids:
             return ics_id
     else:
         raise ValueError('No temporary ICS id available')