diff --git a/io_import_dxf/dxfimport/do.py b/io_import_dxf/dxfimport/do.py
index 81124124bcecc9f26ab6c7202e77a3862020eb4b..85efdf82a12be17c0502bc0dc1f64a4aa396e1d4 100644
--- a/io_import_dxf/dxfimport/do.py
+++ b/io_import_dxf/dxfimport/do.py
@@ -545,6 +545,8 @@ class Do:
         """
         for v in en.vertices:
             bm.verts.new(v.location)
+
+        bm.verts.ensure_lookup_table()
         for subface in en:
             idx = subface.indices()
             points = []
@@ -585,6 +587,7 @@ class Do:
             bm.verts.new(v)
 
         # edges:
+        bm.verts.ensure_lookup_table()
         if any((c < 0 for c in en.edge_crease_list)):
             layerkey = bm.edges.layers.crease.new("SubsurfCrease")
             for i, edge in enumerate(en.edges):