diff --git a/src/mol-canvas3d/controls/trackball.ts b/src/mol-canvas3d/controls/trackball.ts
index 163ed4c53b71704c5b29e531f29701d16b0b3766..40f34459a4a7d1a638c1de5b1548aa529b8a7dd3 100644
--- a/src/mol-canvas3d/controls/trackball.ts
+++ b/src/mol-canvas3d/controls/trackball.ts
@@ -25,7 +25,7 @@ export const TrackballControlsParams = {
     dynamicDampingFactor: PD.Numeric(0.2, {}, { isHidden: true }),
 
     minDistance: PD.Numeric(0.01, {}, { isHidden: true }),
-    maxDistance: PD.Numeric(Infinity, {}, { isHidden: true })
+    maxDistance: PD.Numeric(1e150, {}, { isHidden: true })
 }
 export type TrackballControlsProps = PD.Values<typeof TrackballControlsParams>
 
diff --git a/src/mol-plugin/state.ts b/src/mol-plugin/state.ts
index 54d48baac84de50d78981931f082a2f8306734c2..616538d627f787a907cdf3d720b5b5cfc254c90a 100644
--- a/src/mol-plugin/state.ts
+++ b/src/mol-plugin/state.ts
@@ -52,14 +52,6 @@ class PluginState {
     }
 
     async setSnapshot(snapshot: PluginState.Snapshot) {
-        // TODO
-        // JSON.stringify of Infinity => null ... is this a good place to fix it?
-        if (snapshot.canvas3d && snapshot.canvas3d.viewport && snapshot.canvas3d.viewport.trackball) {
-            if (snapshot.canvas3d.viewport.trackball.maxDistance === null) {
-                snapshot.canvas3d.viewport.trackball.maxDistance = Infinity;
-            }
-        }
-
         await this.plugin.runTask(this.behaviorState.setSnapshot(snapshot.behaviour));
         await this.plugin.runTask(this.dataState.setSnapshot(snapshot.data));
         PluginCommands.Canvas3D.SetSettings.dispatch(this.plugin, { settings: snapshot.canvas3d.viewport || { } });