In this paper, we present new approaches to handling drift and shift in on-line data streams with the help of evolving fuzzy systems (EFS), which are characterized by the fact that their structure (rule base and parameters) is not fixed and not pre-determined, but is extracted from data streams on-line and in an incremental manner. When dealing with so-called drifts and s hifts in data streams, one needs to take into account (1) automatic detection of drifts and shifts and (2) automatic reaction to the drifts and shifts. This is important to avoid interruptions in the learning process and downtrends in predictive accuracy. To address the first problem, we propose an approach based on the concept fuzzy rule age. The second problem is addressed by including gradual forgetting of (1) antecedent parts and (2) consequent parameters. The latter can be achieved by including a forgetting factor in the recursive local learning process of the parameters, whose value is automatically extracted based on the intensity of the shift/drift. For addressing the former problem, we introduce two alternative methods: one is based on the evolving density-based clustering ( eClustering) used to form the antecedents in the eTS approach; the other is based on the automatic adaptation of the learning rate of the evolving vector quantization ( eVQ) method used to form the antecedent in the FLEXFIS approach. The paper concludes with an empirical evaluation of the impact of the proposed approaches in (on-line) real-world data sets in which drifts and shifts occur.