A method for deciding whether a bearing is faulty or not, the method being performed by a controller , the method comprising: obtaining (S102) a signal representing vibrations of the bearing , wherein the vibrations are obtained during operation of the bearing; applying (S108) signal segmentation to the signal in at least two frequency bands in order to identify any shock pulse in the signal, wherein the signal is by a frequency band splitting block adaptively divided in the at least two frequency bands, and wherein impulses exited by any fault in each of the frequency bands is searched for by a signal segmentation block using a sliding window approach on the signal in each frequency band in time domain, wherein the sliding window approach comprises a reference window and a test window, the reference window being longer than the test window, calculating probability density estimates for the test and the reference window and estimating the probability that there is a shock pulse within the test window from the difference between the probability density estimates of the test window and the reference window; calculating a fault indicator for each of the at least two frequency bands using results from the estimated probability and assumed bearing fault frequencies; and deciding (S110) whether the bearing is faulty or not depending on whether or not the signal comprises said any shock pulse, and based on the fault indicator, the fault indicator being calculated by a fault indicator calculation block configured to decide if the frequency of the shock pulses is compatible with any of the bearing fault frequencies and if the probability that the shock pulses are just noise is small enough. obtaining (S102) a signal representing vibrations of the bearing , wherein the vibrations are obtained during operation of the bearing; applying (S108) signal segmentation to the signal in at least two frequency bands in order to identify any shock pulse in the signal, wherein the signal is by a frequency band splitting block adaptively divided in the at least two frequency bands, and wherein impulses exited by any fault in each of the frequency bands is searched for by a signal segmentation block using a sliding window approach on the signal in each frequency band in time domain, wherein the sliding window approach comprises a reference window and a test window, the reference window being longer than the test window, calculating probability density estimates for the test and the reference window and estimating the probability that there is a shock pulse within the test window from the difference between the probability density estimates of the test window and the reference window; calculating a fault indicator for each of the at least two frequency bands using results from the estimated probability and assumed bearing fault frequencies; and deciding (S110) whether the bearing is faulty or not depending on whether or not the signal comprises said any shock pulse, and based on the fault indicator, the fault indicator being calculated by a fault indicator calculation block configured to decide if the frequency of the shock pulses is compatible with any of the bearing fault frequencies and if the probability that the shock pulses are just noise is small enough. <EOS>