Abstract. If a CSP instance has no solution, it contains a smaller unsolvable subproblem that makes unsolvable the whole problem. When solving such instance, instead of just returning the “no solution” message, it is of interest to return an unsolvable subproblem. The detection of such unsolvable subproblems has many applications: failure explanation, error diagnosis, planning, intelligent backtracking, etc. In this paper, we give a method for extracting a Minimal Unsolvable Subproblem (MUS) from a CSP based on a Forward Checking algorithm with Dynamic Variable Ordering (FC-DVO). We propose an approach that improves existing techniques using a two steps algorithm. In the first step, we detect an unsolvable subproblem selecting a set of constraints, while in the second step we refine this unsolvable subproblem until a MUS is obtained. We provide experimental results that show how our approach improves other approaches based on MAC-DVO algorithms.