Normalization should change the name
diff --git a/flag.go b/flag.go
index 06fb7a8..ffd7355 100644
--- a/flag.go
+++ b/flag.go
@@ -184,7 +184,9 @@
 	f.normalizeNameFunc = n
 	for k, v := range f.formal {
 		delete(f.formal, k)
-		f.formal[f.normalizeFlagName(string(k))] = v
+		nname := f.normalizeFlagName(string(k))
+		f.formal[nname] = v
+		v.Name = string(nname)
 	}
 }
 
@@ -433,6 +435,8 @@
 	if f.formal == nil {
 		f.formal = make(map[NormalizedName]*Flag)
 	}
+
+	flag.Name = string(normalizedFlagName)
 	f.formal[normalizedFlagName] = flag
 
 	if len(flag.Shorthand) == 0 {