We have used 502 Escherichia coli inner membrane proteins with experimentally determined C-terminal locations (cytoplasmic or periplasmic) from a recently published data set, together with an additional 106 bacterial membrane proteins with known topology, as queries in BLAST searches against a data base of 658,210 bacterial open reading frames from GenBank. We find 51,208 homologs to the query sequences for which we can assign the location of the C terminus or an internal residue to the same side of the membrane as the query's C terminus. These assignments are then used as constraints for topology prediction. The 51,208 much improved topology models derived in this way cover approximately 30% of all predicted bacterial inner membrane proteins in 225 fully sequenced bacterial genomes.