It is well-known that, for nonlinear systems, the observability is often only a local property and depends on the input. Moreover, it is often required that the observer be of the same dimension as the original system. A direct consequence of this requirement is that it enlarges the set of observability singularities. If, on one hand, it is impossible to observe the state variables that are structurally unobservable, it is, however, possible to overcome the observability singularities introduced by the constraints on the observer design. In this paper, we propose a novel dual immersion method which allows to reduce the set of observability singularities. In addition, a step by step design of a high order sliding mode observer based on the proposed dual immersion approach is presented. Finally, a thorough analysis and discussion on the simulation results with respect to a non-autonomous system is given.