diff --git a/ini_test.go b/ini_test.go
index c3f3e91..215b757 100644
--- a/ini_test.go
+++ b/ini_test.go
@@ -578,7 +578,8 @@
 
 func TestIniNoIni(t *testing.T) {
 	var opts struct {
-		Value string `short:"v" long:"value" no-ini:"yes"`
+		NoValue string `short:"n" long:"novalue" no-ini:"yes"`
+		Value   string `short:"v" long:"value"`
 	}
 
 	p := NewNamedParser("TestIni", Default)
@@ -586,8 +587,10 @@
 
 	inip := NewIniParser(p)
 
+	// read INI
 	inic := `[Application Options]
-value = some value
+novalue = some value
+value = some other value
 `
 
 	b := strings.NewReader(inic)
@@ -603,9 +606,33 @@
 		t.Errorf("Expected opts.Add.Name to be %d, but got %d", v, iniError.LineNumber)
 	}
 
-	if v := "unknown option: value"; iniError.Message != v {
+	if v := "unknown option: novalue"; iniError.Message != v {
 		t.Errorf("Expected opts.Add.Name to be %s, but got %s", v, iniError.Message)
 	}
+
+	// write INI
+	opts.NoValue = "some value"
+	opts.Value = "some other value"
+
+	file, err := ioutil.TempFile("", "")
+	if err != nil {
+		t.Fatalf("Cannot create temporary file: %s", err)
+	}
+	defer os.Remove(file.Name())
+
+	err = inip.WriteFile(file.Name(), IniIncludeDefaults)
+	if err != nil {
+		t.Fatalf("Could not write ini file: %s", err)
+	}
+
+	found, err := ioutil.ReadFile(file.Name())
+	if err != nil {
+		t.Fatalf("Could not read written ini file: %s", err)
+	}
+
+	expected := "[Application Options]\nValue = some other value\n\n"
+
+	assertDiff(t, string(found), expected, "ini content")
 }
 
 func TestIniParse(t *testing.T) {
