diff --git a/features/pool/pool.go b/features/pool/pool.go
index 1148b70a..004386b0 100644
--- a/features/pool/pool.go
+++ b/features/pool/pool.go
@@ -75,7 +75,7 @@ func (p *pool) message(message *protogen.Message) {
 		} else {
 			switch field.Desc.Kind() {
 			case protoreflect.MessageKind, protoreflect.GroupKind:
-				if p.ShouldPool(field.Message) {
+				if !field.Desc.IsMap() && p.ShouldPool(field.Message) {
 					p.P(`m.`, fieldName, `.ReturnToVTPool()`)
 				}
 			case protoreflect.BytesKind: