diff --git a/src/mol-math/geometry/common.ts b/src/mol-math/geometry/common.ts
index 184034082d4cde217e9e1578ba7e6a01ec961317..4d37da1f4cb58bab7244577213b983658cb32f96 100644
--- a/src/mol-math/geometry/common.ts
+++ b/src/mol-math/geometry/common.ts
@@ -14,11 +14,12 @@ export interface PositionData {
     x: ArrayLike<number>,
     y: ArrayLike<number>,
     z: ArrayLike<number>,
-    id: ArrayLike<number>,
     /** subset of indices into the x/y/z/radius arrays */
     indices: OrderedSet,
     /** optional element radius */
-    radius?: ArrayLike<number>
+    radius?: ArrayLike<number>,
+    /** optional element id */
+    id?: ArrayLike<number>,
 }
 
 export type DensityData = {
diff --git a/src/mol-math/geometry/gaussian-density/cpu.ts b/src/mol-math/geometry/gaussian-density/cpu.ts
index bb74c6d120258b3eb704931cd3699559f5d2bac6..4adb4b8de181fe464270dc21619cc39b34085c67 100644
--- a/src/mol-math/geometry/gaussian-density/cpu.ts
+++ b/src/mol-math/geometry/gaussian-density/cpu.ts
@@ -100,7 +100,7 @@ export async function GaussianDensityCPU(ctx: RuntimeContext, position: Position
                             data[idx] += dens
                             if (dens > densData[idx]) {
                                 densData[idx] = dens
-                                idData[idx] = id[i]
+                                idData[idx] = id ? id[i] : i
                             }
                         }
                     }
diff --git a/src/mol-math/geometry/gaussian-density/gpu.ts b/src/mol-math/geometry/gaussian-density/gpu.ts
index 2128478a68457c677571740be6ccd57627cf1464..901b4736804184dc428e21547fb943845be74ad3 100644
--- a/src/mol-math/geometry/gaussian-density/gpu.ts
+++ b/src/mol-math/geometry/gaussian-density/gpu.ts
@@ -242,7 +242,7 @@ function prepareGaussianDensityData(position: PositionData, box: Box3D, radius:
         const r = radius(j) + radiusOffset
         if (maxRadius < r) maxRadius = r
         radii[i] = r
-        groups[i] = id[i]
+        groups[i] = id ? id[i] : i
     }
 
     const pad = maxRadius * 2 + resolution * 4