--- pkg/R/diagMatrix.R 2008/03/04 21:44:04 2119 +++ pkg/R/diagMatrix.R 2008/03/04 21:44:41 2120 @@ -211,7 +211,7 @@ x[i, , drop=drop] else x[i,j, drop=drop] - if(isDiagonal(x)) as(x, "diagonalMatrix") else x + if(isS4(x) && isDiagonal(x)) as(x, "diagonalMatrix") else x } setMethod("[", signature(x = "diagonalMatrix", i = "index",