Mark flags as visited based on their name
diff --git a/flag.go b/flag.go
index 5e708d4..c550030 100644
--- a/flag.go
+++ b/flag.go
@@ -960,10 +960,10 @@
 				return f.failf("invalid value %q for %s: %v", value, s, err)
 			}
 		}
-		/*if f.actual == nil {
+		if f.actual == nil {
 			f.actual = make(map[string]*Flag)
 		}
-		f.actual[name] = flag*/ // TODO: mark flags as set in robust way
+		f.actual[flag.Name] = flag
 	}
 	return nil
 }