 					device.enabled = true;
 					for (j = 0; j < device.numControls; j++) {
 //						debug("    Control id = " + device.getControlAt(j).id + ", val = " + device.getControlAt(j).minValue + " => " + device.getControlAt(j).maxValue);
-						device.getControlAt(j).addEventListener(Event.CHANGE, onGameInputDeviceChanged, false, 0, true);
+						device.getControlAt(j).addEventListener(Event.CHANGE, onGameInputControlChanged, false, 0, true);
 					}
 				}
 			}

			refreshGameInputDeviceList();
		}

		private function onGameInputDeviceChanged(__e:Event):void {
			var control:GameInputControl = __e.target as GameInputControl;

			// Find the re-mapped control id

				device = GameInput.getDeviceAt(i);
				if (device != null) {
					for (j = 0; j < device.numControls; j++) {
						device.getControlAt(j).removeEventListener(Event.CHANGE, onGameInputControlChanged);
					}
				}
			}
