diff --git a/internal/impl/validate.go b/internal/impl/validate.go
index e6b3d23..5f3c3f5 100644
--- a/internal/impl/validate.go
+++ b/internal/impl/validate.go
@@ -266,6 +266,7 @@
 				case 2:
 					vi.typ = st.valType
 					vi.mi = st.mi
+					vi.requiredIndex = 1
 				}
 			default:
 				var f *coderFieldInfo
@@ -436,15 +437,23 @@
 		}
 		b = st.tail
 	PopState:
+		numRequiredFields := 0
 		switch st.typ {
 		case validationTypeMessage, validationTypeGroup:
-			// If there are more than 64 required fields, this check will
-			// always fail and we will report that the message is potentially
-			// uninitialized.
-			if st.mi.numRequiredFields > 0 && bits.OnesCount64(st.requiredMask) != int(st.mi.numRequiredFields) {
-				initialized = false
+			numRequiredFields = int(st.mi.numRequiredFields)
+		case validationTypeMap:
+			// If this is a map field with a message value that contains
+			// required fields, require that the value be present.
+			if st.mi != nil && st.mi.numRequiredFields > 0 {
+				numRequiredFields = 1
 			}
 		}
+		// If there are more than 64 required fields, this check will
+		// always fail and we will report that the message is potentially
+		// uninitialized.
+		if numRequiredFields > 0 && bits.OnesCount64(st.requiredMask) != numRequiredFields {
+			initialized = false
+		}
 		states = states[:len(states)-1]
 	}
 	if !initialized {
