Software Defined Networking (SDN) is a new networking paradigm, with a great potential to increase network efficiency, ease the complexity of network control and management, and accelerate the rate of technology innovation. One of the core concepts of SDN is the separation of the network's control and data plane. The intelligence and the control of the network operation and management, such as routing, is removed from the forwarding elements (switches) and is concentrated in a logically centralised component, i.e. the SDN controller. In order for the controller to configure and manage the network, it needs to have up-to-date information about the state of the network, in particular its topology. Consequently, topology discovery is a critical component of any Software Defined Network architecture. In this paper, we evaluate the efficiency of the de facto standard approach to topology discovery currently implemented by the major SDN controller frameworks, and propose simple and practical modifications, which achieve a significantly improved efficiency and reduced control overhead. We have implemented our new topology discovery approach on the widely used POX controller platform, and have evaluated it for a range of network topologies via experiments using the Mininet network emulator as well as a specific topology in the OFELIA SDN testbed. Our results show that our proposed modifications achieve an up to 40% reduction in controller load compared to the current state-of-the-art approach, while delivering identical discovery functionality.