I think this is an error in r-devel:
R : Copyright 2003, The R Development Core Team
Version 1.7.0 Under development (unstable) (2003-02-25)
...
> x <- matrix(1:9,3,3)
> class(x)<-c("a", "matrix")
> class(x)
[1] "a" "matrix"
> class(x)<-class(x)[-1]
> class(x)
[1] "a" "matrix" # should be "matrix"
> class(x)<-"matrix"
> class(x)
[1] "a" "matrix" # should be "matrix"
Paul Gilbert