diff --git a/src/os/file.go b/src/os/file.go
index b5a1bb8c0df35a767df2258d2c617b564c870c38..c5db78fe2e96e51a6a3b8bd8d8f3dc5f579ad30d 100644
--- a/src/os/file.go
+++ b/src/os/file.go
@@ -147,7 +147,11 @@ func (f *File) Write(b []byte) (n int, err error) {
 
 	epipecheck(f, e)
 
-	return n, f.wrapErr("write", e)
+	if e != nil {
+		err = f.wrapErr("write", e)
+	}
+
+	return n, err
 }
 
 // WriteAt writes len(b) bytes to the File starting at byte offset off.