Analysis of allozyme data of the European freshwater fish Cottus gobio showed marked genetic differentiation across drainage basins in northeastern Bavaria, which points to the existence of at least two cryptic taxa. Genetic variability within populations differed significantly between these two taxa, which could be due to historical (bottlenecks) or ecological reasons (population size). To distinguish between these two hypotheses we sampled 12 distinct populations from Rhine, Elbe and Danube drainages. Using allozyme data we examined the influence of population size and isolation on genetic variability within populations. We used spatial extent of populations (patch size) as a measure for population size. To estimate isolation we calculated a compound measure which took into account patch size and distance to all neighbouring populations. Both patch size and isolation were highly correlated with genetic variability, explaining ≃95% of the variance of genetic variability within populations. Furthermore, analysis of covariance suggests that the difference in genetic variability between taxa may be explained by differences in population size.