In this paper, an indirect adaptive decoupling controller is presented for a class of uncertain nonlinear multivariable discrete time dynamical systems. The indirect adaptive decoupling controller is composed of a linear robust indirect adaptive decoupling controller, a neural network nonlinear indirect adaptive decoupling controller and a switching mechanism. The linear decoupling controller can provide boundedness of the input and output signals, and the nonlinear decoupling controller can improve performance of the system. The purpose of using the switching mechanism is to obtain the improved system performance and stability simultaneously. Theory analysis and simulation results are presented to show the effectiveness of the proposed method