We examined the consequences of barriers, stream architecture and putative dispersal capability on levels of genetic differentiation among populations of the freshwater fish Craterocephalus stercusmuscarum. Seven polymorphic allozyme loci and sequences of a 498-bp fragment of the ATPase 6 mitochondrial DNA (mtDNA) gene were used to assess patterns of genetic variation among 16 populations from upland and lowland streams of five drainages in northern Queensland, Australia. Concordant patterns at both genetic markers revealed that there were significant levels of genetic subdivision among all populations, while an analysis of molecular variation showed that the distribution of genetic diversity was not consistent with contemporary drainage structure. There were reciprocally monophyletic mtDNA clades and fixed or large frequency differences at allozyme loci either side of instream barriers such as waterfalls. This implied barriers were effective in restricting gene flow between upland and lowland populations separated by waterfalls. However, there were two genetically distinct groups in upland areas, even within the same subcatchment, as well as high levels of genetic subdivision among lowland populations, suggesting barriers alone do not explain the patterns of genetic diversity. The data revealed a complex phylogeographic pattern, which we interpreted to be the result of one or more invasion events of independent lineages to different sections of each drainage, possibly mediated by well documented geomorphological changes. Our results highlight the importance of earth structure and history in shaping population genetic structure in stream organisms where dispersal capability may be limited, and reveal that the contemporary structure of drainages is not necessarily a good indicator of genetic relationships among populations.