Discrimination between inhibitors of acetylcholinesterase (AChE), butyrylcholinesterase (BChE), and both AChE and BChE can be accomplished through the use of a surface containing two immobilized enzymes. The interaction of tetraphenyl porphyrin (TPPS 1 ) with immobilized AChE and BChE yields characteristic absorbance peaks at 446 and 421nm, respectively. Exposure of the immobilized TPPS 1 -enzyme surface to competitive inhibitors of either enzyme results in a loss in absorbance of the characteristic peak of the inhibited of the porphyrin bound to the inhibited enzyme while non-competitive inhibitors do not result in a change in absorbance. Exposure to inhibitors of both enzymes results in loss of absorbance intensity at both porphyrin-enzyme peaks. Inhibitor concentrations less than 100 ppt can be detected.