The problem of Speech Recognition in a noisy environment is addressed. Particularly the mismatch problem originated when training a system in a "clean" environment and operating it in a noisy one. When measuring the similarity between a noisy test utterance and a list of clean templates a correction process, based on a series of Wiener filters built using the hypothesized clean template, is applied to the feature vectors of the noisy word. The filtering process is optimized as a by product of the Dynamic Programing algorithm of the scoring step. Tests were conducted at the simulation level on two data bases, one in Hebrew and the second in Japanese, using additive white noise and real world car noise at different SNRs. The method shows a very good performance and compares well with other methods proposed in the literature.