Seeking product's quality is essential nowadays. One of the many quality aspects in software development is the source code complexity. Not taking care for the complexity during the development can result in unexpected cost, caused by the difficulty on the source code understanding. The goal of this paper is to introduce an initial approach to identify unnecessary complexity in source code. Besides identifying, also show to its user how to properly rewrite the source code without the unnecessary complexity. The approach is based on the static analysis of the source code control flow graph. Once the unnecessary complexity is identified, the graph is refactored in order to allow the user to understand the improvement on the source code. It was implemented in a software tool in order to prove its concept. A performance evaluation was performed, resulting in a high accuracy. Two experimental studies were also performed to assess its feasibility when used by real users. The evidences provided by these studies suggests that the approach support the unnecessary complexity removal.