diff --git a/pkg/analysis_server/lib/src/status/element_writer.dart b/pkg/analysis_server/lib/src/status/element_writer.dart
index 1f9328f..8b034ed 100644
--- a/pkg/analysis_server/lib/src/status/element_writer.dart
+++ b/pkg/analysis_server/lib/src/status/element_writer.dart
@@ -43,6 +43,7 @@
       properties['isAbstract'] = element.isAbstract;
       properties['isEnum'] = element.isEnum;
       properties['isMixinApplication'] = element.isMixinApplication;
+      properties['isValidMixin'] = element.isValidMixin;
       properties['mixins'] = element.mixins;
       properties['superclassConstraints'] = element.superclassConstraints;
       properties['supertype'] = element.supertype;
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 1588cce..4bf1253 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -5,7 +5,6 @@
 * Deprecated `ClassOrMixinDeclaration.getMethod`, filter `members` instead.
 * Deprecated `ClassDeclaration.getConstructor`, filter `members` instead.
 * Deprecated `Directive.element`, use `element2` instead.
-* Deprecated `ClassElement.isValidMixin`, it is not useful for clients.
 * Deprecated `ClassElement.hasStaticMember`, it is not useful for clients.
 * Deprecated `NamespaceDirective.uriElement`, use `element2.uri` with `DirectiveUriWithLibrary` instead.
 * Deprecated `UriBasedDirective.uriContent`, `UriBasedDirective.uriElement`, `UriBasedDirective.uriSource`.
diff --git a/pkg/analyzer/lib/dart/element/element.dart b/pkg/analyzer/lib/dart/element/element.dart
index 18e03b9..ac9dc6c 100644
--- a/pkg/analyzer/lib/dart/element/element.dart
+++ b/pkg/analyzer/lib/dart/element/element.dart
@@ -2328,7 +2328,7 @@
   /// declares a constructor. It is a compile-time error if a mixin is derived
   /// from a class whose superclass is not Object.
   /// </blockquote>
-  @Deprecated('Not useful for clients')
+  /// TODO(scheglov) Deprecate and remove it.
   bool get isValidMixin;
 
   /// Return a list containing all of the superclass constraints defined for
diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
index 98f9781..d734a09 100644
--- a/pkg/analyzer/lib/src/dart/element/element.dart
+++ b/pkg/analyzer/lib/src/dart/element/element.dart
@@ -816,7 +816,6 @@
     setModifier(Modifier.SIMPLY_BOUNDED, isSimplyBounded);
   }
 
-  @Deprecated('Not useful for clients')
   @override
   bool get isValidMixin {
     final supertype = this.supertype;
@@ -2959,7 +2958,6 @@
     setModifier(Modifier.SIMPLY_BOUNDED, isSimplyBounded);
   }
 
-  @Deprecated('Not useful for clients')
   @override
   bool get isValidMixin => false;
 
diff --git a/pkg/analyzer/test/generated/simple_resolver_test.dart b/pkg/analyzer/test/generated/simple_resolver_test.dart
index 8a4b10d..e26ff8a 100644
--- a/pkg/analyzer/test/generated/simple_resolver_test.dart
+++ b/pkg/analyzer/test/generated/simple_resolver_test.dart
@@ -745,7 +745,6 @@
     verifyTestResolved();
   }
 
-  @deprecated
   test_isValidMixin_badSuperclass() async {
     await assertErrorsInCode(r'''
 class A extends B {}
@@ -759,7 +758,6 @@
     expect(a.isValidMixin, isFalse);
   }
 
-  @deprecated
   test_isValidMixin_constructor() async {
     await assertErrorsInCode(r'''
 class A {
@@ -774,7 +772,6 @@
     expect(a.isValidMixin, isFalse);
   }
 
-  @deprecated
   test_isValidMixin_factoryConstructor() async {
     await assertNoErrorsInCode(r'''
 class A {
@@ -787,7 +784,6 @@
     expect(a.isValidMixin, isTrue);
   }
 
-  @deprecated
   test_isValidMixin_super_toString() async {
     await assertNoErrorsInCode(r'''
 class A {
@@ -802,7 +798,6 @@
     expect(a.isValidMixin, isTrue);
   }
 
-  @deprecated
   test_isValidMixin_valid() async {
     await assertNoErrorsInCode('''
 class A {}
diff --git a/tools/VERSION b/tools/VERSION
index 3ceeb63..65ce53c 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 19
 PATCH 0
-PRERELEASE 48
+PRERELEASE 49
 PRERELEASE_PATCH 0
\ No newline at end of file
