add a test for twice calling Create on the same path
diff --git a/afero_test.go b/afero_test.go
index 528689a..6c9c64b 100644
--- a/afero_test.go
+++ b/afero_test.go
@@ -120,6 +120,52 @@
 	}
 }
 
+func TestCreate(t *testing.T) {
+	defer removeAllTestFiles(t)
+	for _, fs := range Fss {
+		tmp := testDir(fs)
+		path := filepath.Join(tmp, testName)
+
+		f, err := fs.Create(path)
+		if err != nil {
+			t.Error(fs.Name(), "Create failed:", err)
+			f.Close()
+			continue
+		}
+		io.WriteString(f, "initial")
+		f.Close()
+
+		f, err = fs.Create(path)
+		if err != nil {
+			t.Error(fs.Name(), "Create failed:", err)
+			f.Close()
+			continue
+		}
+		secondContent := "second create"
+		io.WriteString(f, secondContent)
+		f.Close()
+
+		f, err = fs.Open(path)
+		if err != nil {
+			t.Error(fs.Name(), "Open failed:", err)
+			f.Close()
+			continue
+		}
+		buf, err := ReadAll(f)
+		if err != nil {
+			t.Error(fs.Name(), "ReadAll failed:", err)
+			f.Close()
+			continue
+		}
+		if string(buf) != secondContent {
+			t.Error(fs.Name(), "Content should be", "\""+secondContent+"\" but is \""+string(buf)+"\"")
+			f.Close()
+			continue
+		}
+		f.Close()
+	}
+}
+
 func TestMemFileRead(t *testing.T) {
 	f := tmpFile(new(MemMapFs))
 	// f := MemFileCreate("testfile")