diff --git a/NOTICE-binary.txt b/NOTICE-binary.txt
new file mode 100644
index 0000000..aad8559
--- /dev/null
+++ b/NOTICE-binary.txt
@@ -0,0 +1,60 @@
+   =========================================================================
+   ==  NOTICE file corresponding to section 4(d) of the Apache License,   ==
+   ==  Version 2.0, in this case for the Apache XmlBeans distribution.    ==
+   =========================================================================
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+
+   Portions of this software were originally based on the following:
+     - software copyright (c) 2000-2003, BEA Systems, <http://www.bea.com/>.
+   Note: The ASF Secretary has on hand a Software Grant Agreement (SGA) from
+   BEA Systems, Inc. dated 9 Sep 2003 for XMLBeans signed by their EVP/CFO.
+
+   Aside from contributions to the Apache XMLBeans project, this
+   software also includes:
+
+    - one or more source files from the Apache Xerces-J and Apache Axis
+      products, Copyright (c) 1999-2003 Apache Software Foundation
+
+    - W3C XML Schema documents Copyright 2001-2003 (c) World Wide Web
+      Consortium (Massachusetts Institute of Technology, European Research
+      Consortium for Informatics and Mathematics, Keio University)
+
+    - resolver.jar from Apache Xml Commons project,
+      Copyright (c) 2001-2003 Apache Software Foundation
+
+
+    **********************
+    THIRD PARTY COMPONENTS
+    **********************
+    This software includes third party software subject to the following copyrights:
+
+    Apache Ant
+    Copyright 1999-2023 The Apache Software Foundation
+
+    This product includes software developed at
+    The Apache Software Foundation (https://www.apache.org/).
+
+    The <sync> task is based on code Copyright (c) 2002, Landmark
+    Graphics Corp that has been kindly donated to the Apache Software
+    Foundation.
+
+    Apache Commons Codec
+    Copyright 2002-2020 The Apache Software Foundation
+
+    This product includes software developed at
+    The Apache Software Foundation (http://www.apache.org/).
+
+    src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java
+    contains test data from http://aspell.net/test/orig/batch0.tab.
+    Copyright (C) 2002 Kevin Atkinson (kevina@gnu.org)
+
+    ===============================================================================
+
+    The content of package org.apache.commons.codec.language.bm has been translated
+    from the original php source code available at http://stevemorse.org/phoneticinfo.htm
+    with permission from the original authors.
+    Original source copyright:
+    Copyright (c) 2008 Alexander Beider & Stephen P. Morse.
+
diff --git a/build.gradle b/build.gradle
index ac4773f..8c5426c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -485,8 +485,9 @@
             }
             from ('.') {
                 include 'LICENSE-binary.txt'
-                include 'NOTICE.txt'
+                include 'NOTICE-binary.txt'
                 rename ('LICENSE-binary.txt', 'LICENSE.txt')
+                rename ('NOTICE-binary.txt', 'NOTICE.txt')
             }
 
             includeEmptyDirs = false
diff --git a/build.xml b/build.xml
index 909e7f7..1bd4b93 100644
--- a/build.xml
+++ b/build.xml
@@ -739,7 +739,7 @@
         </tar>
 
         <zip destfile="build/xmlbeans-bin-${version.base}-${tstamp.dist}.zip" update="false">
-            <zipfileset dir="." includes="LICENSE-binary.txt,NOTICE.txt" prefix="${prefix}"/>
+            <zipfileset dir="." includes="LICENSE-binary.txt,NOTICE-binary.txt" prefix="${prefix}"/>
             <zipfileset dir="samples" includes="Any/**,DateTime/**,MixedContent/**,OrderMatters/**,SchemaEnum/**,Validation/**,XQueryXPath/**,XsdConfig/**" prefix="${prefix}/samples"/>
             <zipfileset dir="src/main/shell" prefix="${prefix}/bin"/>
             <zipfileset dir="xkit" prefix="${prefix}"/>
@@ -759,7 +759,7 @@
             </zipfileset>
         </zip>
         <tar destfile="build/xmlbeans-bin-${version.base}-${tstamp.dist}.tgz" compression="gzip" longfile="posix">
-            <tarfileset dir="." includes="LICENSE-binary.txt,NOTICE.txt" prefix="${prefix}"/>
+            <tarfileset dir="." includes="LICENSE-binary.txt,NOTICE-binary.txt" prefix="${prefix}"/>
             <tarfileset dir="samples" includes="Any/**,DateTime/**,MixedContent/**,OrderMatters/**,SchemaEnum/**,Validation/**,XQueryXPath/**,XsdConfig/**" prefix="${prefix}/samples"/>
             <tarfileset dir="src/main/shell" prefix="${prefix}/bin"/>
             <tarfileset dir="xkit" prefix="${prefix}"/>
diff --git a/release-guide.txt b/release-guide.txt
index e2eee97..f351c17 100644
--- a/release-guide.txt
+++ b/release-guide.txt
@@ -72,10 +72,13 @@
  -print0 | xargs -0 svn pg 'svn:executable' | cut -d ' ' -f 1)
 {code}
 
-   9. Before building, review any new or updated dependencies to ensure that
-      if they required LICENSE or NOTICE updates then these were done.
+  9a. Before building, review any new or updated dependencies to ensure that
+      the required LICENSE-binary.txt and NOTICE-binary.txt updates were done.
 
-  10. Ensure that CHANGES.txt is up to date
+  9b. Review if we have added new source code that is taken from any project and if this affects
+      LICENSE.txt and NOTICE.txt.
+
+  10. Ensure that the issues in JIRA have the version number set and are resolved.
 
   11. Ensure that the KEYS files in the dist areas are up-to-date with the
       latest ones in POI svn:
