A suspension system comprising: a suspension mechanism for a traveling vehicle body; a suspension reference position varying mechanism configured to vary a reference position of a suspension stroke of the suspension mechanism; a controller configured to control said suspension reference position varying mechanism so that, based on an intermediate value between a maximal value corresponding to a maximal position of the suspension mechanism and a minimal value corresponding to a minimal position of the suspension mechanism, the intermediate value is displaced toward a target range if a number of times of abnormality has exceeded a decision number of times, said number of times of abnormality being calculated based upon a number of times that said intermediate value has deviated from the target range, characterized in that said controller is configured to proceed as follows for each lapse of a control cycle: - obtain values corresponding to the respective stroke positions of said suspension mechanism during a prior set period back from the lapse of said control cycle, said set period being set longer than one cycle of the resonance frequency of the suspension mechanism to a certain degree, such that a plurality of said maximal values and a plurality of said minimal values will be detected during this period; - detect the plurality of maximal values and the plurality of minimal values from the obtained values, and - calculate the intermediate value from the detected plurality of maximal values and the detected plurality of minimal values; said controller is configured to detect said intermediate value from the greatest one of said maximal values and the smallest one of said minimal values; and said controller is configured to decrease the decision number of times when a traveling speed of the vehicle body is a low speed and to increase the decision number of times when the traveling speed of the vehicle body is a high speed. a suspension mechanism for a traveling vehicle body; a suspension reference position varying mechanism configured to vary a reference position of a suspension stroke of the suspension mechanism; a controller configured to control said suspension reference position varying mechanism so that, based on an intermediate value between a maximal value corresponding to a maximal position of the suspension mechanism and a minimal value corresponding to a minimal position of the suspension mechanism, the intermediate value is displaced toward a target range if a number of times of abnormality has exceeded a decision number of times, said number of times of abnormality being calculated based upon a number of times that said intermediate value has deviated from the target range, characterized in that said controller is configured to proceed as follows for each lapse of a control cycle: - obtain values corresponding to the respective stroke positions of said suspension mechanism during a prior set period back from the lapse of said control cycle, said set period being set longer than one cycle of the resonance frequency of the suspension mechanism to a certain degree, such that a plurality of said maximal values and a plurality of said minimal values will be detected during this period; - detect the plurality of maximal values and the plurality of minimal values from the obtained values, and - calculate the intermediate value from the detected plurality of maximal values and the detected plurality of minimal values; said controller is configured to detect said intermediate value from the greatest one of said maximal values and the smallest one of said minimal values; and said controller is configured to decrease the decision number of times when a traveling speed of the vehicle body is a low speed and to increase the decision number of times when the traveling speed of the vehicle body is a high speed. - obtain values corresponding to the respective stroke positions of said suspension mechanism during a prior set period back from the lapse of said control cycle, said set period being set longer than one cycle of the resonance frequency of the suspension mechanism to a certain degree, such that a plurality of said maximal values and a plurality of said minimal values will be detected during this period; - detect the plurality of maximal values and the plurality of minimal values from the obtained values, and - calculate the intermediate value from the detected plurality of maximal values and the detected plurality of minimal values; said controller is configured to detect said intermediate value from the greatest one of said maximal values and the smallest one of said minimal values; and said controller is configured to decrease the decision number of times when a traveling speed of the vehicle body is a low speed and to increase the decision number of times when the traveling speed of the vehicle body is a high speed.