         // If the data has been updated, we need to re-init everything
         // TODO: dataNeedsReloading is never set anymore since we have refactored and the graph
         // longer owns the data.
-        if (dataNeedsReloading) {
+        if (isInitialSetup) {
             setup()
             
             if(shouldAnimateOnStartup) {

        var pointsToAnimate = 0 ..< 0
        
        #if !TARGET_INTERFACE_BUILDER
        if (shouldAnimateOnAdapt || (dataNeedsReloading && shouldAnimateOnStartup)) {
            pointsToAnimate = activePointsInterval
        }
        #endif

            }
            
            // We're done setting up.
            isInitialSetup = false
        }
        // Otherwise, the user is just scrolling and we just need to update everything.
        else {
