This work introduces a reformulation of a discrete optimal control problem which separates some variables from the others. The main idea is to express a main problem optimizing only some predefined states variables, while the other states variables and all the control variables are left to a subproblem. The reformulation is first introduced in a nonlinear optimization context, to show with more ease that it is relevant to recover an optimal solution of the original problem. A prime application is to handle problems with singularities affected by only some of the variables. In such a case, the variables affecting the singularities are given at the main problem and the remaining are left to the subproblem, which is smooth. In this context, "singularities" is understood either as "nonsmoothness" and as "discontinuities". These problems form an important class of discrete optimal control problems, such as problems with singular Mayer or Lagrange costs. The reformulation is therefore specialised in this specific context. Some numerical tests show that solving the reformulation with a derivative-free solver (NOMAD) running on the singular main problem and IPOpt running on the smooth subproblem successfully handles some optimal control problems on which IPOpt alone fails.