diff --git a/patches/0001-releng-Fix-build-with-tracecompass-incubator-2019-06.patch b/patches/0001-releng-Fix-build-with-tracecompass-incubator-2019-06.patch
new file mode 100644
index 0000000..2e940e0
--- /dev/null
+++ b/patches/0001-releng-Fix-build-with-tracecompass-incubator-2019-06.patch
@@ -0,0 +1,171 @@
+From 896de05af529efbbabab895c2b80d3b319c619db Mon Sep 17 00:00:00 2001
+From: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
+Date: Mon, 4 Jan 2021 21:03:04 -0500
+Subject: [PATCH] releng: Fix build with tracecompass-incubator-2019-06.target
+
+Change-Id: Ie33f260f1b06e370e6fd7d14144c4c4b2f687945
+Signed-off-by: Bernd Hufmann <Bernd.Hufmann@ericsson.com>
+---
+ .../core/tests/stubs/FilterBoxServiceStub.java  | 17 +++++++++--------
+ .../filters/core/server/FilterBoxService.java   | 17 +++++++++--------
+ .../traceserver.product                         |  1 -
+ 3 files changed, 18 insertions(+), 17 deletions(-)
+
+diff --git a/analyses/org.eclipse.tracecompass.incubator.filters.core.tests/stubs/org/eclipse/tracecompass/incubator/filters/core/tests/stubs/FilterBoxServiceStub.java b/analyses/org.eclipse.tracecompass.incubator.filters.core.tests/stubs/org/eclipse/tracecompass/incubator/filters/core/tests/stubs/FilterBoxServiceStub.java
+index 88775c83..b99f4130 100644
+--- a/analyses/org.eclipse.tracecompass.incubator.filters.core.tests/stubs/org/eclipse/tracecompass/incubator/filters/core/tests/stubs/FilterBoxServiceStub.java
++++ b/analyses/org.eclipse.tracecompass.incubator.filters.core.tests/stubs/org/eclipse/tracecompass/incubator/filters/core/tests/stubs/FilterBoxServiceStub.java
+@@ -22,7 +22,6 @@ import org.eclipse.lsp4j.Command;
+ import org.eclipse.lsp4j.CompletionItem;
+ import org.eclipse.lsp4j.CompletionList;
+ import org.eclipse.lsp4j.CompletionParams;
+-import org.eclipse.lsp4j.DefinitionParams;
+ import org.eclipse.lsp4j.DidChangeTextDocumentParams;
+ import org.eclipse.lsp4j.DidCloseTextDocumentParams;
+ import org.eclipse.lsp4j.DidOpenTextDocumentParams;
+@@ -30,20 +29,18 @@ import org.eclipse.lsp4j.DidSaveTextDocumentParams;
+ import org.eclipse.lsp4j.DocumentColorParams;
+ import org.eclipse.lsp4j.DocumentFormattingParams;
+ import org.eclipse.lsp4j.DocumentHighlight;
+-import org.eclipse.lsp4j.DocumentHighlightParams;
+ import org.eclipse.lsp4j.DocumentOnTypeFormattingParams;
+ import org.eclipse.lsp4j.DocumentRangeFormattingParams;
+ import org.eclipse.lsp4j.DocumentSymbol;
+ import org.eclipse.lsp4j.DocumentSymbolParams;
+ import org.eclipse.lsp4j.Hover;
+-import org.eclipse.lsp4j.HoverParams;
+ import org.eclipse.lsp4j.Location;
+ import org.eclipse.lsp4j.LocationLink;
+ import org.eclipse.lsp4j.ReferenceParams;
+ import org.eclipse.lsp4j.RenameParams;
+ import org.eclipse.lsp4j.SignatureHelp;
+-import org.eclipse.lsp4j.SignatureHelpParams;
+ import org.eclipse.lsp4j.SymbolInformation;
++import org.eclipse.lsp4j.TextDocumentPositionParams;
+ import org.eclipse.lsp4j.TextEdit;
+ import org.eclipse.lsp4j.WorkspaceEdit;
+ import org.eclipse.lsp4j.jsonrpc.messages.Either;
+@@ -102,27 +99,31 @@ public class FilterBoxServiceStub implements TextDocumentService {
+     }
+ 
+     @Override
+-    public CompletableFuture<Hover> hover(HoverParams position) {
++    public CompletableFuture<Hover> hover(TextDocumentPositionParams position) {
+         // Not implemented
+         return null;
+     }
++
+     @Override
+-    public CompletableFuture<SignatureHelp> signatureHelp(SignatureHelpParams position) {
++    public CompletableFuture<SignatureHelp> signatureHelp(TextDocumentPositionParams position) {
+         // Not implemented
+         return null;
+     }
++
+     @Override
+-    public CompletableFuture<Either<List<? extends Location>, List<? extends LocationLink>>> definition(DefinitionParams position) {
++    public CompletableFuture<Either<List<? extends Location>, List<? extends LocationLink>>> definition(TextDocumentPositionParams position) {
+         // Not implemented
+         return null;
+     }
++
+     @Override
+     public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
+         // Not implemented
+         return null;
+     }
++
+     @Override
+-    public CompletableFuture<List<? extends DocumentHighlight>> documentHighlight(DocumentHighlightParams position) {
++    public CompletableFuture<List<? extends DocumentHighlight>> documentHighlight(TextDocumentPositionParams position) {
+         // Not implemented
+         return null;
+     }
+diff --git a/analyses/org.eclipse.tracecompass.incubator.filters.core/src/org/eclipse/tracecompass/incubator/internal/filters/core/server/FilterBoxService.java b/analyses/org.eclipse.tracecompass.incubator.filters.core/src/org/eclipse/tracecompass/incubator/internal/filters/core/server/FilterBoxService.java
+index 353b602e..f863a63e 100644
+--- a/analyses/org.eclipse.tracecompass.incubator.filters.core/src/org/eclipse/tracecompass/incubator/internal/filters/core/server/FilterBoxService.java
++++ b/analyses/org.eclipse.tracecompass.incubator.filters.core/src/org/eclipse/tracecompass/incubator/internal/filters/core/server/FilterBoxService.java
+@@ -28,7 +28,6 @@ import org.eclipse.lsp4j.Command;
+ import org.eclipse.lsp4j.CompletionItem;
+ import org.eclipse.lsp4j.CompletionList;
+ import org.eclipse.lsp4j.CompletionParams;
+-import org.eclipse.lsp4j.DefinitionParams;
+ import org.eclipse.lsp4j.Diagnostic;
+ import org.eclipse.lsp4j.DidChangeTextDocumentParams;
+ import org.eclipse.lsp4j.DidCloseTextDocumentParams;
+@@ -37,13 +36,11 @@ import org.eclipse.lsp4j.DidSaveTextDocumentParams;
+ import org.eclipse.lsp4j.DocumentColorParams;
+ import org.eclipse.lsp4j.DocumentFormattingParams;
+ import org.eclipse.lsp4j.DocumentHighlight;
+-import org.eclipse.lsp4j.DocumentHighlightParams;
+ import org.eclipse.lsp4j.DocumentOnTypeFormattingParams;
+ import org.eclipse.lsp4j.DocumentRangeFormattingParams;
+ import org.eclipse.lsp4j.DocumentSymbol;
+ import org.eclipse.lsp4j.DocumentSymbolParams;
+ import org.eclipse.lsp4j.Hover;
+-import org.eclipse.lsp4j.HoverParams;
+ import org.eclipse.lsp4j.Location;
+ import org.eclipse.lsp4j.LocationLink;
+ import org.eclipse.lsp4j.Position;
+@@ -52,9 +49,9 @@ import org.eclipse.lsp4j.Range;
+ import org.eclipse.lsp4j.ReferenceParams;
+ import org.eclipse.lsp4j.RenameParams;
+ import org.eclipse.lsp4j.SignatureHelp;
+-import org.eclipse.lsp4j.SignatureHelpParams;
+ import org.eclipse.lsp4j.SymbolInformation;
+ import org.eclipse.lsp4j.TextDocumentContentChangeEvent;
++import org.eclipse.lsp4j.TextDocumentPositionParams;
+ import org.eclipse.lsp4j.TextEdit;
+ import org.eclipse.lsp4j.WorkspaceEdit;
+ import org.eclipse.lsp4j.jsonrpc.messages.Either;
+@@ -126,27 +123,31 @@ public class FilterBoxService implements TextDocumentService {
+     }
+ 
+     @Override
+-    public CompletableFuture<Hover> hover(HoverParams position) {
++    public CompletableFuture<Hover> hover(TextDocumentPositionParams position) {
+         // Not used.
+         throw new UnsupportedOperationException();
+     }
++
+     @Override
+-    public CompletableFuture<SignatureHelp> signatureHelp(SignatureHelpParams position) {
++    public CompletableFuture<SignatureHelp> signatureHelp(TextDocumentPositionParams position) {
+         // Does not apply to filter box
+         throw new UnsupportedOperationException();
+     }
++
+     @Override
+-    public CompletableFuture<Either<List<? extends Location>, List<? extends LocationLink>>> definition(DefinitionParams position) {
++    public CompletableFuture<Either<List<? extends Location>, List<? extends LocationLink>>> definition(TextDocumentPositionParams position) {
+         // Does not apply to filter box
+         throw new UnsupportedOperationException();
+     }
++
+     @Override
+     public CompletableFuture<List<? extends Location>> references(ReferenceParams params) {
+         // Does not apply to filter box
+         throw new UnsupportedOperationException();
+     }
++
+     @Override
+-    public CompletableFuture<List<? extends DocumentHighlight>> documentHighlight(DocumentHighlightParams position) {
++    public CompletableFuture<List<? extends DocumentHighlight>> documentHighlight(TextDocumentPositionParams position) {
+         // May be implemented eventually
+         throw new UnsupportedOperationException();
+     }
+diff --git a/trace-server/org.eclipse.tracecompass.incubator.trace.server.product/traceserver.product b/trace-server/org.eclipse.tracecompass.incubator.trace.server.product/traceserver.product
+index e3cf9108..8132cb4b 100644
+--- a/trace-server/org.eclipse.tracecompass.incubator.trace.server.product/traceserver.product
++++ b/trace-server/org.eclipse.tracecompass.incubator.trace.server.product/traceserver.product
+@@ -151,7 +151,6 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
+       <plugin id="org.eclipse.jetty.server"/>
+       <plugin id="org.eclipse.jetty.servlet"/>
+       <plugin id="org.eclipse.jetty.util"/>
+-      <plugin id="org.eclipse.jetty.util.ajax"/>
+       <plugin id="org.eclipse.ltk.core.refactoring"/>
+       <plugin id="org.eclipse.osgi"/>
+       <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
+-- 
+2.17.1
+
