diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2713e0fad49b8f35dd4b260ee2ed5ec3a7edf8de..baead67420e40ca97abb5c7da5c30bef0c940ce2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -17,7 +17,7 @@ Note that since we don't clearly distinguish between a public and private interf
 - Add support for download of gzipped files
 - Don't filter IndexPairBonds by element-based rules in MOL/SDF and MOL2 (without symmetry) models
 - Fix Glycam Saccharide Names used by default
-- Prefer WebGL1 for more Safari versions to avoid broken GPU surfaces rendering
+- Fix GPU surfaces rendering in Safari with WebGL2
 - Add ``fov`` (Field of View) Canvas3D parameter
 - Add ``sceneRadiusFactor`` Canvas3D parameter
 - Add background pass (skybox, image, horizontal/radial gradient)
diff --git a/src/mol-gl/shader/chunks/common-vert-params.glsl.ts b/src/mol-gl/shader/chunks/common-vert-params.glsl.ts
index 10a7c27ed698a4cd83be892f31bbd34dcc78e5ef..4589093a99daffa056212e269b990bda4e3b3665 100644
--- a/src/mol-gl/shader/chunks/common-vert-params.glsl.ts
+++ b/src/mol-gl/shader/chunks/common-vert-params.glsl.ts
@@ -44,7 +44,9 @@ varying vec3 vModelPosition;
 varying vec3 vViewPosition;
 
 #if defined(noNonInstancedActiveAttribs)
-    #define VertexID gl_VertexID
+    // int() is needed for some Safari versions
+    // see https://bugs.webkit.org/show_bug.cgi?id=244152
+    #define VertexID int(gl_VertexID)
 #else
     attribute float aVertex;
     #define VertexID int(aVertex)
diff --git a/src/mol-plugin/features.ts b/src/mol-plugin/features.ts
index df2c7f2e3371cfd5a82ce5c71dfc7230e98838f7..41937333e54555624ff2474c6008d973c78d2857 100644
--- a/src/mol-plugin/features.ts
+++ b/src/mol-plugin/features.ts
@@ -15,10 +15,6 @@ export const PluginFeatureDetection = {
             'Version/15.1 Safari',
             'Version/15.2 Safari',
             'Version/15.3 Safari',
-            // the following 'only' break GPU surfaces
-            'Version/15.4 Safari',
-            'Version/15.5 Safari',
-            'Version/16.0 Safari',
         ];
         if (unpportedSafariVersions.some(v => navigator.userAgent.indexOf(v) > 0)) {
             return true;