In this paper we investigate a spectrum sensing technique suitable for cognitive radio (CR) considered a means to mitigate congestion in the future multiple access communication systems. The ultimate objective is opportunistic use of unoccupied frequency bands called spectrum holes or white spaces, which belong to another system. For this purpose, first, we identify the spectrum sensor (SS) nonlinearities and scan the available spectrum in wideband mode where the primary task is to identify strong interference. Next, by a complementary analysis we pick up channels which are likely to be spectrum holes. In the second stage the SS is tuned to a selected sub-band by making use of a built-in flexible RF filter which largely attenuates interference and the related intermodulation distortions (IMD). The scan process carried out in this stage is aimed at detection of a vacant channel, i.e. containing only noise that must be distinguished from a possible weak signal that usually requires a significant computation overhead, but as the scan is narrowband and the S/N ratio can be high, the related overhead is largely reduced compared to the wideband sensing approach. The strength of this technique is in the flexible RF filter eliminating IMD which typically tend to obscure the spectrum holes.