If I start an R session with a previously saved .RData that has S4 objects in it, there are times when the associated package loads when I use (or mention) the object, and times when it doesn't. For example: > dim(casesIn) NULL > library(sp) > dim(casesIn) [1] 726 22 - because casesIn is a SpatialPointsDataFrame. But if I try and plot it (starting from scratch again), it loads the sp package: > plot(casesIn) Loading required package: sp - and then falls over: Error in as.double(y) : cannot coerce type 'S4' to vector of type 'double' - which is the error you get from plot.default(casesIn). Trying plot(casesIn) again then works, producing a point map. Why doesn't it work the first time? dim(casesIn) never triggers a library(sp) call: > dim(casesIn) NULL - so do it manually: > library(sp) > dim(casesIn) [1] 726 22 - I guess it must depend on whether its a generic of S3 or S4 flavour and/or the current phase of the moon. I can't find any information about this behaviour, and I can't think of a good query to search for it either. I keep hitting the 'autoload' documentation, which seems to be something completely different. R 2.10.1 on Linux - can't see anything relevant in the latest NEWS file. Barry