I find more readable

if copy:
    X = X.copy()

also the coverage will be accurate.