fixed boolean flag not being set with tag ini-override
diff --git a/ini_test.go b/ini_test.go
index 492d10f..39d88be 100644
--- a/ini_test.go
+++ b/ini_test.go
@@ -953,6 +953,7 @@
 	var tests = []struct {
 		args     []string
 		expected string
+		toggled  bool
 	}{
 		{
 			args:     []string{},
@@ -965,14 +966,22 @@
 		{
 			args:     []string{"--config", "no file name"},
 			expected: "from INI",
+			toggled:  true,
 		},
 		{
 			args:     []string{"--value", "from CLI before", "--config", "no file name"},
 			expected: "from CLI before",
+			toggled:  true,
 		},
 		{
 			args:     []string{"--config", "no file name", "--value", "from CLI after"},
 			expected: "from CLI after",
+			toggled:  true,
+		},
+		{
+			args:     []string{"--toggle"},
+			toggled:  true,
+			expected: "from default",
 		},
 	}
 
@@ -980,6 +989,7 @@
 		var opts struct {
 			Config string `long:"config" no-ini:"true"`
 			Value  string `long:"value" default:"from default" ini-override:"true"`
+			Toggle bool   `long:"toggle" ini-override:"true"`
 		}
 
 		p := NewParser(&opts, Default)
@@ -990,7 +1000,7 @@
 		}
 
 		if opts.Config != "" {
-			err = NewIniParser(p).Parse(bytes.NewBufferString("value = from INI"))
+			err = NewIniParser(p).Parse(bytes.NewBufferString("value = from INI\ntoggle = true"))
 			if err != nil {
 				t.Fatalf("Unexpected error %s with args %+v", err, test.args)
 			}
@@ -1000,5 +1010,9 @@
 			t.Fatalf("Expected Value to be \"%s\" but was \"%s\" with args %+v", test.expected, opts.Value, test.args)
 		}
 
+		if opts.Toggle != test.toggled {
+			t.Fatalf("Expected Toggle to be \"%v\" but was \"%v\" with args %+v", test.toggled, opts.Toggle, test.args)
+		}
+
 	}
 }
diff --git a/option.go b/option.go
index 8be7a27..2f41d85 100644
--- a/option.go
+++ b/option.go
@@ -261,9 +261,9 @@
 		}
 	}
 
+	option.isSetDefault = true
 	if len(usedDefault) > 0 {
 		option.empty()
-		option.isSetDefault = true
 
 		for _, d := range usedDefault {
 			option.set(&d)