diff --git a/packages/dev/core/src/Inputs/scene.inputManager.ts b/packages/dev/core/src/Inputs/scene.inputManager.ts index 752fce922b1..4f0753c9263 100644 --- a/packages/dev/core/src/Inputs/scene.inputManager.ts +++ b/packages/dev/core/src/Inputs/scene.inputManager.ts @@ -205,13 +205,10 @@ export class InputManager { if (isMeshPicked) { scene.setPointerOverMesh(pickResult!.pickedMesh, evt.pointerId, pickResult); - if (this._pointerOverMesh && this._pointerOverMesh.actionManager && this._pointerOverMesh.actionManager.hasPointerTriggers) { - if (!scene.doNotHandleCursors && canvas) { - if (this._pointerOverMesh.actionManager.hoverCursor) { - canvas.style.cursor = this._pointerOverMesh.actionManager.hoverCursor; - } else { - canvas.style.cursor = scene.hoverCursor; - } + if (!scene.doNotHandleCursors && canvas && this._pointerOverMesh) { + const actionManager = this._pointerOverMesh._getActionManagerForTrigger(); + if (actionManager && actionManager.hasPointerTriggers) { + canvas.style.cursor = actionManager.hoverCursor || scene.hoverCursor; } } } else {