diff --git a/bool.go b/bool.go
index 60beb54..617971a 100644
--- a/bool.go
+++ b/bool.go
@@ -5,6 +5,13 @@
 	"strconv"
 )
 
+// optional interface to indicate boolean flags that can be
+// supplied without "=value" text
+type boolFlag interface {
+	Value
+	IsBoolFlag() bool
+}
+
 // -- bool Value
 type boolValue bool
 
@@ -21,6 +28,8 @@
 
 func (b *boolValue) String() string { return fmt.Sprintf("%v", *b) }
 
+func (b *boolValue) IsBoolFlag() bool { return true }
+
 // BoolVar defines a bool flag with specified name, default value, and usage string.
 // The argument p points to a bool variable in which to store the value of the flag.
 func (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string) {
diff --git a/flag.go b/flag.go
index 1e574d7..f383058 100644
--- a/flag.go
+++ b/flag.go
@@ -438,7 +438,7 @@
 				return f.failf("unknown flag: --%s", name)
 			}
 			if len(split) == 1 {
-				if _, ok := flag.Value.(*boolValue); !ok {
+				if bv, ok := flag.Value.(boolFlag); !ok || !bv.IsBoolFlag() {
 					return f.failf("flag needs an argument: %s", s)
 				}
 				f.setFlag(flag, "true", s)
@@ -459,7 +459,7 @@
 					}
 					return f.failf("unknown shorthand flag: %q in -%s", c, shorthands)
 				}
-				if _, ok := flag.Value.(*boolValue); ok {
+				if bv, ok := flag.Value.(boolFlag); ok && bv.IsBoolFlag() {
 					f.setFlag(flag, "true", s)
 					continue
 				}
