This paper presents a noise cancellation technique to remove impulsive noises that commonly corrupt speech signals. A discrete wavelet transform is applied on the corrupted speech signal to obtain the approximation and detail coefficients. Reconstruction is done using only the detail coefficients. A threshold depending on the signal statistics is applied on the reconstructed signal to detect information of the time occurrence of impulsive noise. Based on the number of samples at a stretch that are corrupted, an adaptive filter with a variable size window is applied on the corrupted speech signal to remove the impulse noise. Evaluations of the proposed system show that the intelligibility of speech is improved.