Index: engines/sky/logic.cpp
===================================================================
--- engines/sky/logic.cpp	(revision 26306)
+++ engines/sky/logic.cpp	(working copy)
@@ -1207,6 +1207,15 @@
 	_compact = scriptComp;
 	uint16 retVal = script((uint16)(scrNum & 0xFFFF), (uint16)(scrNum >> 16));
 	_compact = tmpComp;
+
+	if (scrNum == MENU_SELECT && _scriptVariables[BUTTON] == 1) {
+		// The user has right-clicked on an inventory item.  We update the
+		// mouse cursor instead of waiting for the script to update it.
+		// In the original game the cursor is just updated when the mouse
+		// moves away the item, but it's unintuitive.
+		fnCrossMouse(0, 0, 0);
+	}
+
 	return retVal;
 }
 
