 			var i:int;
 			var hasChanged:Boolean = false;
 
-			if ((gameInputDevices == null && GameInput.numDevices > 0) || (gameInputDevices != null && GameInput.numDevices != gameInputDevices.length)) {
+			if (GameInput.numDevices != gameInputDevices.length) {
 				hasChanged = true;
 			} else {
 				for (i = 0; i < GameInput.numDevices; i++) {

					}

					// Now that gameInputDeviceIds is correct, just create the list of references
					gameInputDevices = new Vector.<GameInputDevice>(gameInputDeviceIds.length);
					gameInputDeviceDefinitions = new Vector.<AutoGamepadInfo>(gameInputDeviceIds.length);
					for (i = 0; i < gameInputDeviceIds.length; i++) {
						gamepadPosition = newGamepadIds.indexOf(gameInputDeviceIds[i]);
						if (gamepadPosition < 0) {

			_onActionValueChanged = new SimpleSignal();
			_onDevicesChanged = new SimpleSignal();

			gameInputDevices = new Vector.<GameInputDevice>();
			gameInputDeviceIds = new Vector.<String>();
			gameInputDeviceDefinitions = new Vector.<AutoGamepadInfo>();

			start();
		}

