In this paper we examine the problem of heap construction on a rooted tree T from a packet routing perspective. Each node of T initially contains a packet which has a key-value associated with it. The aim of the heap construction algorithm is to route the packets along the edges of the tree so that, at the end of the routing, the tree is heap ordered with respect to the key values associated with the packets. We consider the case where the routing is performed according to the matching model and we present and analyse an off-line algorithm that heap orders the tree within 2h(T) routing steps, where h(T ) is the height of tree T. The main contribution of the paper is the novel analysis of the algorithm based on potential functions. It is our belief that potential functions will be the main vehicle in analysing fast non-recursive routing algorithms.