I am pleased to report that R already has the answer to my request in the strip.white=TRUE, argument. With this argument tmp3 <- read.fwf("temp.dat", na.strings="-999", strip.white=TRUE, col.names=LETTERS[1:4], widths=c(2,4,5,5)) tmp3 behaves exactly like I want it to behave. Please add it explicitly to the documentation for read.fwf and all will be well. Currently it is there only by indirect reference to read.table. Rich