diff --git a/org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/codemining/CodeMiningProjectionViewerTest.java b/org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/codemining/CodeMiningProjectionViewerTest.java
index 1eeaeb8..e4af1d0 100644
--- a/org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/codemining/CodeMiningProjectionViewerTest.java
+++ b/org.eclipse.jface.text.tests/src/org/eclipse/jface/text/tests/codemining/CodeMiningProjectionViewerTest.java
@@ -55,7 +55,7 @@
 
 public class CodeMiningProjectionViewerTest {
 
-	private final class RepeatLettersCodeMiningProvider implements ICodeMiningProvider {
+	private static final class RepeatLettersCodeMiningProvider implements ICodeMiningProvider {
 		@Override
 		public CompletableFuture<List<? extends ICodeMining>> provideCodeMinings(ITextViewer viewer, IProgressMonitor monitor) {
 			List<LineContentCodeMining> codeMinings = new ArrayList<>();
diff --git a/org.eclipse.text.tests/src/org/eclipse/text/tests/AnnotationModelExtension2Test.java b/org.eclipse.text.tests/src/org/eclipse/text/tests/AnnotationModelExtension2Test.java
index 8e1b117..e4b7b95 100644
--- a/org.eclipse.text.tests/src/org/eclipse/text/tests/AnnotationModelExtension2Test.java
+++ b/org.eclipse.text.tests/src/org/eclipse/text/tests/AnnotationModelExtension2Test.java
@@ -40,7 +40,7 @@
  */
 public class AnnotationModelExtension2Test {
 
-	public class OldAnnotationModel implements IAnnotationModel {
+	public static class OldAnnotationModel implements IAnnotationModel {
 
 		private final HashMap<Annotation, Position> fAnnotations= new HashMap<>();
 
diff --git a/org.eclipse.text.tests/src/org/eclipse/text/tests/link/LinkedModeModelTest.java b/org.eclipse.text.tests/src/org/eclipse/text/tests/link/LinkedModeModelTest.java
index ddec679..c701103 100644
--- a/org.eclipse.text.tests/src/org/eclipse/text/tests/link/LinkedModeModelTest.java
+++ b/org.eclipse.text.tests/src/org/eclipse/text/tests/link/LinkedModeModelTest.java
@@ -830,7 +830,7 @@
 		"	Ich habe schon so viel fur dich getan,\n" +
 		"	Das mir zu tun fast nichts mehr ubrigbleibt.";
 
-	private class LinkedAdapter implements ILinkedModeListener {
+	private static class LinkedAdapter implements ILinkedModeListener {
 		@Override
 		public void left(LinkedModeModel environment, int flags) {}
 		@Override
diff --git a/org.eclipse.ui.editors.tests/src/org/eclipse/ui/editors/tests/MarkerAnnotationOrderTest.java b/org.eclipse.ui.editors.tests/src/org/eclipse/ui/editors/tests/MarkerAnnotationOrderTest.java
index 8277314..8a7c779 100644
--- a/org.eclipse.ui.editors.tests/src/org/eclipse/ui/editors/tests/MarkerAnnotationOrderTest.java
+++ b/org.eclipse.ui.editors.tests/src/org/eclipse/ui/editors/tests/MarkerAnnotationOrderTest.java
@@ -114,7 +114,7 @@
 
 	}
 
-	public class TestMarkerAnnotationModel extends AbstractMarkerAnnotationModel {
+	public static class TestMarkerAnnotationModel extends AbstractMarkerAnnotationModel {
 		@Override
 		protected IMarker[] retrieveMarkers() throws CoreException {
 			return null;
diff --git a/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/minimap/MinimapPageTest.java b/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/minimap/MinimapPageTest.java
index 0c9f94a..c3d6a09 100644
--- a/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/minimap/MinimapPageTest.java
+++ b/org.eclipse.ui.workbench.texteditor.tests/src/org/eclipse/ui/workbench/texteditor/tests/minimap/MinimapPageTest.java
@@ -41,7 +41,7 @@
 		None, ITextViewer, ITextOperationTarget
 	}
 
-	class MyTextEditor extends StatusTextEditor {
+	static class MyTextEditor extends StatusTextEditor {
 
 		private final TextVieverAdapterKind kind;
 
