An N-terminal cysteine is used to displace bromide from a bromoacetylated porphyrin to yield a thioether linkage between the peptide and the template. Unlike amide coupling reactions, this approach should be compatible with any peptide sequence provided there is only a single cysteine.