In some cases ChangeFormUI.isImplementAvailable() differers from ChangeRequestStateHandler.isNext("implement") and other state equivalentsDescriptionChangeFormUI.isImplementAvailable() may differer from ChangeRequestStateHandler.isNext("implement") and other state equivalents. This stems from being two ways to check if a state it available in the older State Model, the nextState array and the states available to transition to from the current state. In this case, the check of the available states is performed, but the nextState is not being checked. This is only an issue if the OOB state models have been customized, changed the OOB ordering of the states, and modified the next states.Steps to Reproduce This can be replicated in any of the ChangeRequestStateMode_* models (normal, standard, emergency).1. Set all change_model properties to true to enable type based change.2. In the Script Include ChangeRequestStateModel_standard add the following code in the draft state definition:[code]draft: { // already exists... implement: {moving: function() {return this.toImplement_moving();},canMove: function() {return this.toImplement_canMove();}}}[/code]3. If you create a standard change request, the implement button will be visible when in the new state, even though it is not a next state from 'New'.WorkaroundThis problem is under review and targeted to be fixed in a future release. To receive notifications when more information becomes available, subscribe to this Known Error article by clicking the Subscribe button at the top right of this form. The workaround is to overload the isNextState method in ChangeTypeChgReqAPI to check both the availability and the next states defined in the model.Insert the code below in a new line after line 6 of the Script Include /nav_to.do?uri=sys_script_include.do?sys_id=b7d43ab753c7101034d1ddeeff7b121a :isNextState: function(stateValue) { return this.canMoveTo(stateValue) && this.getNextStates().indexOf(stateValue) !== -1;},Related Problem: PRB1506861