diff --git a/org.eclipse.ui.editors/.settings/.api_filters b/org.eclipse.ui.editors/.settings/.api_filters
index c062b4a..fd4b47e 100644
--- a/org.eclipse.ui.editors/.settings/.api_filters
+++ b/org.eclipse.ui.editors/.settings/.api_filters
@@ -1,5 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <component id="org.eclipse.ui.editors" version="2">
+    <resource path="src/org/eclipse/ui/editors/text/EncodingActionGroup.java" type="org.eclipse.ui.editors.text.EncodingActionGroup">
+        <filter comment="&#10;Bug 544309 - [API] Mark EncodingActionGroup and related interfaces for deletion" id="336744520">
+            <message_arguments>
+                <message_argument value="@noextend"/>
+                <message_argument value="org.eclipse.ui.editors.text.EncodingActionGroup"/>
+            </message_arguments>
+        </filter>
+    </resource>
     <resource path="src/org/eclipse/ui/editors/text/ITextEditorHelpContextIds.java" type="org.eclipse.ui.editors.text.ITextEditorHelpContextIds">
         <filter id="571473929">
             <message_arguments>
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/EncodingActionGroup.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/EncodingActionGroup.java
index 376c789..df74e28 100644
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/EncodingActionGroup.java
+++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/EncodingActionGroup.java
@@ -51,9 +51,11 @@
  * @since 2.0
  * @deprecated As of 3.1, encoding needs to be changed via properties dialog. This class is planned
  *             for removal after March 2021 (see bug#544309 for details).
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
  * @noreference This class is not intended to be referenced by clients.
  */
-@Deprecated
+@Deprecated(forRemoval= true)
 public class EncodingActionGroup extends ActionGroup {
 
 	private static final String FILE_CONTENT_ENCODING_FORMAT= TextEditorMessages.ResourceInfo_fileContentEncodingFormat;
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsConstants.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsConstants.java
index 604c197..5baab36 100644
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsConstants.java
+++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsConstants.java
@@ -27,7 +27,7 @@
  * @noextend This interface is not intended to be extended by clients.
  *
  */
-@Deprecated
+@Deprecated(forRemoval= true)
 public interface IEncodingActionsConstants {
 
 	/**
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsDefinitionIds.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsDefinitionIds.java
index 85243d8..2261c16 100644
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsDefinitionIds.java
+++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsDefinitionIds.java
@@ -26,7 +26,7 @@
  * @noimplement This interface is not intended to be implemented by clients.
  * @noextend This interface is not intended to be extended by clients.
  */
-@Deprecated
+@Deprecated(forRemoval= true)
 public interface IEncodingActionsDefinitionIds  {
 	/**
 	 * Action definition id of the action to change the encoding into default.
diff --git a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsHelpContextIds.java b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsHelpContextIds.java
index cc78ed2..dcede47 100644
--- a/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsHelpContextIds.java
+++ b/org.eclipse.ui.editors/src/org/eclipse/ui/editors/text/IEncodingActionsHelpContextIds.java
@@ -28,7 +28,7 @@
  * @noimplement This interface is not intended to be implemented by clients.
  * @noextend This interface is not intended to be extended by clients.
  */
-@Deprecated
+@Deprecated(forRemoval= true)
 public interface IEncodingActionsHelpContextIds {
 
 	/**
