diff --git a/rhel-168081.patch b/rhel-168081.patch
new file mode 100644
index 0000000..cc65185
--- /dev/null
+++ b/rhel-168081.patch
@@ -0,0 +1,54 @@
+diff -up ./java/org/apache/coyote/ajp/Constants.java ./java/org/apache/coyote/ajp/Constants.java
+--- ./java/org/apache/coyote/ajp/Constants.java 2025-10-01 04:36:05.000000000 -0400
++++ ./java/org/apache/coyote/ajp/Constants.java 2026-04-14 15:27:50.820988961 -0400
+@@ -105,7 +105,7 @@
+
+ // Translates integer codes to names of HTTP methods
+ private static final String[] methodTransArray =
+- { Method.OPTIONS, Method.GET, Method.HEAD, Method.POST, Method.PUT, Method.OPTIONS, Method.TRACE, Method.TRACE, Method.PROPPATCH, Method.MKCOL, Method.COPY,
++ { Method.OPTIONS, Method.GET, Method.HEAD, Method.POST, Method.PUT, Method.DELETE, Method.TRACE, Method.TRACE, Method.PROPPATCH, Method.MKCOL, Method.COPY,
+ Method.MOVE, Method.LOCK, Method.UNLOCK, "ACL", "REPORT", "VERSION-CONTROL", "CHECKIN", "CHECKOUT", "UNCHECKOUT",
+ "SEARCH", "MKWORKSPACE", "UPDATE", "LABEL", "MERGE", "BASELINE-CONTROL", "MKACTIVITY" };
+
+diff -up ./test/org/apache/catalina/realm/TestRealmBase.java ./test/org/apache/catalina/realm/TestRealmBase.java
+--- ./test/org/apache/catalina/realm/TestRealmBase.java 2025-10-01 04:36:05.000000000 -0400
++++ ./test/org/apache/catalina/realm/TestRealmBase.java 2026-04-14 15:27:50.821211035 -0400
+@@ -660,7 +660,7 @@
+ SecurityConstraint deleteConstraint = new SecurityConstraint();
+ deleteConstraint.addAuthRole(ROLE1);
+ SecurityCollection deleteCollection = new SecurityCollection();
+- deleteCollection.addMethod(Method.OPTIONS);
++ deleteCollection.addMethod(Method.DELETE);
+ deleteCollection.addPatternDecoded("/*");
+ deleteConstraint.addCollection(deleteCollection);
+
+@@ -772,7 +772,7 @@
+
+ // Only user1 should be able to perform a DELETE as only that user has
+ // role1.
+- request.setMethod(Method.OPTIONS);
++ request.setMethod(Method.DELETE);
+
+ SecurityConstraint[] constraintsDelete =
+ mapRealm.findSecurityConstraints(request, context);
+diff -up ./webapps/docs/changelog.xml.orig ./webapps/docs/changelog.xml
+--- ./webapps/docs/changelog.xml.orig 2026-04-14 15:48:53.192243701 -0400
++++ ./webapps/docs/changelog.xml 2026-04-14 15:49:48.893470762 -0400
+@@ -104,6 +104,17 @@
+ They eventually become mixed with the numbered issues (i.e., numbered
+ issues do not "pop up" wrt. others).
+ -->
++
++
++
++
++ 69848: Fix copy/paste error that meant DELETE
++ requests received via the AJP connector were processed as OPTIONS
++ requests. (markt)
++
++
++
++
+
+
+
diff --git a/tomcat.spec b/tomcat.spec
index 644172b..6146ece 100644
--- a/tomcat.spec
+++ b/tomcat.spec
@@ -56,7 +56,7 @@
Name: tomcat
Epoch: 1
Version: %{major_version}.%{minor_version}.%{micro_version}
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API
License: ASL 2.0
@@ -81,6 +81,7 @@ Patch2: %{name}-build.patch
Patch3: %{name}-%{major_version}.%{minor_version}-catalina-policy.patch
Patch4: rhbz-1857043.patch
Patch6: %{name}-%{major_version}.%{minor_version}-bnd-annotation.patch
+Patch7: rhel-168081.patch
BuildArch: noarch
@@ -197,6 +198,7 @@ find . -type f \( -name "*.bat" -o -name "*.class" -o -name Thumbs.db -o -name "
%patch -P3 -p0
%patch -P4 -p0
%patch -P6 -p0
+%patch -P7 -p1
# Remove webservices naming resources as it's generally unused
%{__rm} -rf java/org/apache/naming/factory/webservices
@@ -563,6 +565,9 @@ fi
%changelog
+* Tue Apr 14 2026 Coty Sutherland - 1:9.0.110-3
+- Resolves: RHEL-168081 Fix copy/paste error in AJP connector that caused DELETE requests to be processed as OPTIONS requests (BZ#69848)
+
* Thu Feb 26 2026 Coty Sutherland - 1:9.0.110-2
- Resolves: RHEL-154364 Tomcat fails to respond to client connections when using Java 8