diff --git a/internal/cmd/generate-types/impl.go b/internal/cmd/generate-types/impl.go
index 401eba8..700ae27 100644
--- a/internal/cmd/generate-types/impl.go
+++ b/internal/cmd/generate-types/impl.go
@@ -741,7 +741,7 @@
 	m.messageInfo().setUnknown(m.pointer(), b)
 }
 func (m *{{.}}) IsValid() bool {
-	return m.pointer().IsNil()
+	return !m.pointer().IsNil()
 }
 
 {{end}}
diff --git a/internal/impl/message_reflect_gen.go b/internal/impl/message_reflect_gen.go
index e894659..94bc88c 100644
--- a/internal/impl/message_reflect_gen.go
+++ b/internal/impl/message_reflect_gen.go
@@ -125,7 +125,7 @@
 	m.messageInfo().setUnknown(m.pointer(), b)
 }
 func (m *messageState) IsValid() bool {
-	return m.pointer().IsNil()
+	return !m.pointer().IsNil()
 }
 
 func (m *messageReflectWrapper) Descriptor() protoreflect.MessageDescriptor {
@@ -245,5 +245,5 @@
 	m.messageInfo().setUnknown(m.pointer(), b)
 }
 func (m *messageReflectWrapper) IsValid() bool {
-	return m.pointer().IsNil()
+	return !m.pointer().IsNil()
 }
diff --git a/internal/impl/message_reflect_test.go b/internal/impl/message_reflect_test.go
index 82d5f81..bb6bda5 100644
--- a/internal/impl/message_reflect_test.go
+++ b/internal/impl/message_reflect_test.go
@@ -1437,6 +1437,17 @@
 	m.Descriptor()
 }
 
+func TestIsValid(t *testing.T) {
+	var m *testpb.TestAllTypes
+	if got, want := m.ProtoReflect().IsValid(), false; got != want {
+		t.Errorf("((*M)(nil)).ProtoReflect().IsValid() = %v, want %v", got, want)
+	}
+	m = &testpb.TestAllTypes{}
+	if got, want := m.ProtoReflect().IsValid(), true; got != want {
+		t.Errorf("(&M{}).ProtoReflect().IsValid() = %v, want %v", got, want)
+	}
+}
+
 // The MessageState implementation makes the assumption that when a
 // concrete message is unsafe casted as a *MessageState, the Go GC does
 // not reclaim the memory for the remainder of the concrete message.
