diff --git a/meta/files/common-licenses/389-exception b/meta/files/common-licenses/exceptions/389-exception
similarity index 100%
rename from meta/files/common-licenses/389-exception
rename to meta/files/common-licenses/exceptions/389-exception
diff --git a/meta/files/common-licenses/Asterisk-exception b/meta/files/common-licenses/exceptions/Asterisk-exception
similarity index 100%
rename from meta/files/common-licenses/Asterisk-exception
rename to meta/files/common-licenses/exceptions/Asterisk-exception
diff --git a/meta/files/common-licenses/Asterisk-linking-protocols-exception b/meta/files/common-licenses/exceptions/Asterisk-linking-protocols-exception
similarity index 100%
rename from meta/files/common-licenses/Asterisk-linking-protocols-exception
rename to meta/files/common-licenses/exceptions/Asterisk-linking-protocols-exception
diff --git a/meta/files/common-licenses/Autoconf-exception-2.0 b/meta/files/common-licenses/exceptions/Autoconf-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-2.0
rename to meta/files/common-licenses/exceptions/Autoconf-exception-2.0
diff --git a/meta/files/common-licenses/Autoconf-exception-3.0 b/meta/files/common-licenses/exceptions/Autoconf-exception-3.0
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-3.0
rename to meta/files/common-licenses/exceptions/Autoconf-exception-3.0
diff --git a/meta/files/common-licenses/Autoconf-exception-generic b/meta/files/common-licenses/exceptions/Autoconf-exception-generic
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-generic
rename to meta/files/common-licenses/exceptions/Autoconf-exception-generic
diff --git a/meta/files/common-licenses/Autoconf-exception-generic-3.0 b/meta/files/common-licenses/exceptions/Autoconf-exception-generic-3.0
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-generic-3.0
rename to meta/files/common-licenses/exceptions/Autoconf-exception-generic-3.0
diff --git a/meta/files/common-licenses/Autoconf-exception-macro b/meta/files/common-licenses/exceptions/Autoconf-exception-macro
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-macro
rename to meta/files/common-licenses/exceptions/Autoconf-exception-macro
diff --git a/meta/files/common-licenses/Bison-exception-1.24 b/meta/files/common-licenses/exceptions/Bison-exception-1.24
similarity index 100%
rename from meta/files/common-licenses/Bison-exception-1.24
rename to meta/files/common-licenses/exceptions/Bison-exception-1.24
diff --git a/meta/files/common-licenses/Bison-exception-2.2 b/meta/files/common-licenses/exceptions/Bison-exception-2.2
similarity index 100%
rename from meta/files/common-licenses/Bison-exception-2.2
rename to meta/files/common-licenses/exceptions/Bison-exception-2.2
diff --git a/meta/files/common-licenses/Bootloader-exception b/meta/files/common-licenses/exceptions/Bootloader-exception
similarity index 100%
rename from meta/files/common-licenses/Bootloader-exception
rename to meta/files/common-licenses/exceptions/Bootloader-exception
diff --git a/meta/files/common-licenses/CGAL-linking-exception b/meta/files/common-licenses/exceptions/CGAL-linking-exception
similarity index 100%
rename from meta/files/common-licenses/CGAL-linking-exception
rename to meta/files/common-licenses/exceptions/CGAL-linking-exception
diff --git a/meta/files/common-licenses/CLISP-exception-2.0 b/meta/files/common-licenses/exceptions/CLISP-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/CLISP-exception-2.0
rename to meta/files/common-licenses/exceptions/CLISP-exception-2.0
diff --git a/meta/files/common-licenses/Classpath-exception-2.0 b/meta/files/common-licenses/exceptions/Classpath-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/Classpath-exception-2.0
rename to meta/files/common-licenses/exceptions/Classpath-exception-2.0
diff --git a/meta/files/common-licenses/Classpath-exception-2.0-short b/meta/files/common-licenses/exceptions/Classpath-exception-2.0-short
similarity index 100%
rename from meta/files/common-licenses/Classpath-exception-2.0-short
rename to meta/files/common-licenses/exceptions/Classpath-exception-2.0-short
diff --git a/meta/files/common-licenses/DigiRule-FOSS-exception b/meta/files/common-licenses/exceptions/DigiRule-FOSS-exception
similarity index 100%
rename from meta/files/common-licenses/DigiRule-FOSS-exception
rename to meta/files/common-licenses/exceptions/DigiRule-FOSS-exception
diff --git a/meta/files/common-licenses/Digia-Qt-LGPL-exception-1.1 b/meta/files/common-licenses/exceptions/Digia-Qt-LGPL-exception-1.1
similarity index 100%
rename from meta/files/common-licenses/Digia-Qt-LGPL-exception-1.1
rename to meta/files/common-licenses/exceptions/Digia-Qt-LGPL-exception-1.1
diff --git a/meta/files/common-licenses/FLTK-exception b/meta/files/common-licenses/exceptions/FLTK-exception
similarity index 100%
rename from meta/files/common-licenses/FLTK-exception
rename to meta/files/common-licenses/exceptions/FLTK-exception
diff --git a/meta/files/common-licenses/Fawkes-Runtime-exception b/meta/files/common-licenses/exceptions/Fawkes-Runtime-exception
similarity index 100%
rename from meta/files/common-licenses/Fawkes-Runtime-exception
rename to meta/files/common-licenses/exceptions/Fawkes-Runtime-exception
diff --git a/meta/files/common-licenses/Font-exception-2.0 b/meta/files/common-licenses/exceptions/Font-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/Font-exception-2.0
rename to meta/files/common-licenses/exceptions/Font-exception-2.0
diff --git a/meta/files/common-licenses/GCC-exception-2.0 b/meta/files/common-licenses/exceptions/GCC-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/GCC-exception-2.0
rename to meta/files/common-licenses/exceptions/GCC-exception-2.0
diff --git a/meta/files/common-licenses/GCC-exception-2.0-note b/meta/files/common-licenses/exceptions/GCC-exception-2.0-note
similarity index 100%
rename from meta/files/common-licenses/GCC-exception-2.0-note
rename to meta/files/common-licenses/exceptions/GCC-exception-2.0-note
diff --git a/meta/files/common-licenses/GCC-exception-3.1 b/meta/files/common-licenses/exceptions/GCC-exception-3.1
similarity index 100%
rename from meta/files/common-licenses/GCC-exception-3.1
rename to meta/files/common-licenses/exceptions/GCC-exception-3.1
diff --git a/meta/files/common-licenses/GNAT-exception b/meta/files/common-licenses/exceptions/GNAT-exception
similarity index 100%
rename from meta/files/common-licenses/GNAT-exception
rename to meta/files/common-licenses/exceptions/GNAT-exception
diff --git a/meta/files/common-licenses/GNOME-examples-exception b/meta/files/common-licenses/exceptions/GNOME-examples-exception
similarity index 100%
rename from meta/files/common-licenses/GNOME-examples-exception
rename to meta/files/common-licenses/exceptions/GNOME-examples-exception
diff --git a/meta/files/common-licenses/GNU-compiler-exception b/meta/files/common-licenses/exceptions/GNU-compiler-exception
similarity index 100%
rename from meta/files/common-licenses/GNU-compiler-exception
rename to meta/files/common-licenses/exceptions/GNU-compiler-exception
diff --git a/meta/files/common-licenses/GPL-3.0-389-ds-base-exception b/meta/files/common-licenses/exceptions/GPL-3.0-389-ds-base-exception
similarity index 100%
rename from meta/files/common-licenses/GPL-3.0-389-ds-base-exception
rename to meta/files/common-licenses/exceptions/GPL-3.0-389-ds-base-exception
diff --git a/meta/files/common-licenses/GPL-3.0-interface-exception b/meta/files/common-licenses/exceptions/GPL-3.0-interface-exception
similarity index 100%
rename from meta/files/common-licenses/GPL-3.0-interface-exception
rename to meta/files/common-licenses/exceptions/GPL-3.0-interface-exception
diff --git a/meta/files/common-licenses/GPL-3.0-linking-exception b/meta/files/common-licenses/exceptions/GPL-3.0-linking-exception
similarity index 100%
rename from meta/files/common-licenses/GPL-3.0-linking-exception
rename to meta/files/common-licenses/exceptions/GPL-3.0-linking-exception
diff --git a/meta/files/common-licenses/GPL-3.0-linking-source-exception b/meta/files/common-licenses/exceptions/GPL-3.0-linking-source-exception
similarity index 100%
rename from meta/files/common-licenses/GPL-3.0-linking-source-exception
rename to meta/files/common-licenses/exceptions/GPL-3.0-linking-source-exception
diff --git a/meta/files/common-licenses/GPL-CC-1.0 b/meta/files/common-licenses/exceptions/GPL-CC-1.0
similarity index 100%
rename from meta/files/common-licenses/GPL-CC-1.0
rename to meta/files/common-licenses/exceptions/GPL-CC-1.0
diff --git a/meta/files/common-licenses/GStreamer-exception-2005 b/meta/files/common-licenses/exceptions/GStreamer-exception-2005
similarity index 100%
rename from meta/files/common-licenses/GStreamer-exception-2005
rename to meta/files/common-licenses/exceptions/GStreamer-exception-2005
diff --git a/meta/files/common-licenses/GStreamer-exception-2008 b/meta/files/common-licenses/exceptions/GStreamer-exception-2008
similarity index 100%
rename from meta/files/common-licenses/GStreamer-exception-2008
rename to meta/files/common-licenses/exceptions/GStreamer-exception-2008
diff --git a/meta/files/common-licenses/Gmsh-exception b/meta/files/common-licenses/exceptions/Gmsh-exception
similarity index 100%
rename from meta/files/common-licenses/Gmsh-exception
rename to meta/files/common-licenses/exceptions/Gmsh-exception
diff --git a/meta/files/common-licenses/Independent-modules-exception b/meta/files/common-licenses/exceptions/Independent-modules-exception
similarity index 100%
rename from meta/files/common-licenses/Independent-modules-exception
rename to meta/files/common-licenses/exceptions/Independent-modules-exception
diff --git a/meta/files/common-licenses/KiCad-libraries-exception b/meta/files/common-licenses/exceptions/KiCad-libraries-exception
similarity index 100%
rename from meta/files/common-licenses/KiCad-libraries-exception
rename to meta/files/common-licenses/exceptions/KiCad-libraries-exception
diff --git a/meta/files/common-licenses/LGPL-3.0-linking-exception b/meta/files/common-licenses/exceptions/LGPL-3.0-linking-exception
similarity index 100%
rename from meta/files/common-licenses/LGPL-3.0-linking-exception
rename to meta/files/common-licenses/exceptions/LGPL-3.0-linking-exception
diff --git a/meta/files/common-licenses/LLGPL b/meta/files/common-licenses/exceptions/LLGPL
similarity index 100%
rename from meta/files/common-licenses/LLGPL
rename to meta/files/common-licenses/exceptions/LLGPL
diff --git a/meta/files/common-licenses/LLVM-exception b/meta/files/common-licenses/exceptions/LLVM-exception
similarity index 100%
rename from meta/files/common-licenses/LLVM-exception
rename to meta/files/common-licenses/exceptions/LLVM-exception
diff --git a/meta/files/common-licenses/LZMA-exception b/meta/files/common-licenses/exceptions/LZMA-exception
similarity index 100%
rename from meta/files/common-licenses/LZMA-exception
rename to meta/files/common-licenses/exceptions/LZMA-exception
diff --git a/meta/files/common-licenses/Libtool-exception b/meta/files/common-licenses/exceptions/Libtool-exception
similarity index 100%
rename from meta/files/common-licenses/Libtool-exception
rename to meta/files/common-licenses/exceptions/Libtool-exception
diff --git a/meta/files/common-licenses/Linux-syscall-note b/meta/files/common-licenses/exceptions/Linux-syscall-note
similarity index 100%
rename from meta/files/common-licenses/Linux-syscall-note
rename to meta/files/common-licenses/exceptions/Linux-syscall-note
diff --git a/meta/files/common-licenses/OCCT-exception-1.0 b/meta/files/common-licenses/exceptions/OCCT-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/OCCT-exception-1.0
rename to meta/files/common-licenses/exceptions/OCCT-exception-1.0
diff --git a/meta/files/common-licenses/OCaml-LGPL-linking-exception b/meta/files/common-licenses/exceptions/OCaml-LGPL-linking-exception
similarity index 100%
rename from meta/files/common-licenses/OCaml-LGPL-linking-exception
rename to meta/files/common-licenses/exceptions/OCaml-LGPL-linking-exception
diff --git a/meta/files/common-licenses/OpenJDK-assembly-exception-1.0 b/meta/files/common-licenses/exceptions/OpenJDK-assembly-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/OpenJDK-assembly-exception-1.0
rename to meta/files/common-licenses/exceptions/OpenJDK-assembly-exception-1.0
diff --git a/meta/files/common-licenses/PCRE2-exception b/meta/files/common-licenses/exceptions/PCRE2-exception
similarity index 100%
rename from meta/files/common-licenses/PCRE2-exception
rename to meta/files/common-licenses/exceptions/PCRE2-exception
diff --git a/meta/files/common-licenses/PS-or-PDF-font-exception-20170817 b/meta/files/common-licenses/exceptions/PS-or-PDF-font-exception-20170817
similarity index 100%
rename from meta/files/common-licenses/PS-or-PDF-font-exception-20170817
rename to meta/files/common-licenses/exceptions/PS-or-PDF-font-exception-20170817
diff --git a/meta/files/common-licenses/QPL-1.0-INRIA-2004-exception b/meta/files/common-licenses/exceptions/QPL-1.0-INRIA-2004-exception
similarity index 100%
rename from meta/files/common-licenses/QPL-1.0-INRIA-2004-exception
rename to meta/files/common-licenses/exceptions/QPL-1.0-INRIA-2004-exception
diff --git a/meta/files/common-licenses/Qt-GPL-exception-1.0 b/meta/files/common-licenses/exceptions/Qt-GPL-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/Qt-GPL-exception-1.0
rename to meta/files/common-licenses/exceptions/Qt-GPL-exception-1.0
diff --git a/meta/files/common-licenses/Qt-LGPL-exception-1.1 b/meta/files/common-licenses/exceptions/Qt-LGPL-exception-1.1
similarity index 100%
rename from meta/files/common-licenses/Qt-LGPL-exception-1.1
rename to meta/files/common-licenses/exceptions/Qt-LGPL-exception-1.1
diff --git a/meta/files/common-licenses/Qwt-exception-1.0 b/meta/files/common-licenses/exceptions/Qwt-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/Qwt-exception-1.0
rename to meta/files/common-licenses/exceptions/Qwt-exception-1.0
diff --git a/meta/files/common-licenses/RRDtool-FLOSS-exception-2.0 b/meta/files/common-licenses/exceptions/RRDtool-FLOSS-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/RRDtool-FLOSS-exception-2.0
rename to meta/files/common-licenses/exceptions/RRDtool-FLOSS-exception-2.0
diff --git a/meta/files/common-licenses/SANE-exception b/meta/files/common-licenses/exceptions/SANE-exception
similarity index 100%
rename from meta/files/common-licenses/SANE-exception
rename to meta/files/common-licenses/exceptions/SANE-exception
diff --git a/meta/files/common-licenses/SHL-2.0 b/meta/files/common-licenses/exceptions/SHL-2.0
similarity index 100%
rename from meta/files/common-licenses/SHL-2.0
rename to meta/files/common-licenses/exceptions/SHL-2.0
diff --git a/meta/files/common-licenses/SHL-2.1 b/meta/files/common-licenses/exceptions/SHL-2.1
similarity index 100%
rename from meta/files/common-licenses/SHL-2.1
rename to meta/files/common-licenses/exceptions/SHL-2.1
diff --git a/meta/files/common-licenses/SWI-exception b/meta/files/common-licenses/exceptions/SWI-exception
similarity index 100%
rename from meta/files/common-licenses/SWI-exception
rename to meta/files/common-licenses/exceptions/SWI-exception
diff --git a/meta/files/common-licenses/Simple-Library-Usage-exception b/meta/files/common-licenses/exceptions/Simple-Library-Usage-exception
similarity index 100%
rename from meta/files/common-licenses/Simple-Library-Usage-exception
rename to meta/files/common-licenses/exceptions/Simple-Library-Usage-exception
diff --git a/meta/files/common-licenses/Swift-exception b/meta/files/common-licenses/exceptions/Swift-exception
similarity index 100%
rename from meta/files/common-licenses/Swift-exception
rename to meta/files/common-licenses/exceptions/Swift-exception
diff --git a/meta/files/common-licenses/Texinfo-exception b/meta/files/common-licenses/exceptions/Texinfo-exception
similarity index 100%
rename from meta/files/common-licenses/Texinfo-exception
rename to meta/files/common-licenses/exceptions/Texinfo-exception
diff --git a/meta/files/common-licenses/UBDL-exception b/meta/files/common-licenses/exceptions/UBDL-exception
similarity index 100%
rename from meta/files/common-licenses/UBDL-exception
rename to meta/files/common-licenses/exceptions/UBDL-exception
diff --git a/meta/files/common-licenses/Universal-FOSS-exception-1.0 b/meta/files/common-licenses/exceptions/Universal-FOSS-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/Universal-FOSS-exception-1.0
rename to meta/files/common-licenses/exceptions/Universal-FOSS-exception-1.0
diff --git a/meta/files/common-licenses/WxWindows-exception-3.1 b/meta/files/common-licenses/exceptions/WxWindows-exception-3.1
similarity index 100%
rename from meta/files/common-licenses/WxWindows-exception-3.1
rename to meta/files/common-licenses/exceptions/WxWindows-exception-3.1
diff --git a/meta/files/common-licenses/cryptsetup-OpenSSL-exception b/meta/files/common-licenses/exceptions/cryptsetup-OpenSSL-exception
similarity index 100%
rename from meta/files/common-licenses/cryptsetup-OpenSSL-exception
rename to meta/files/common-licenses/exceptions/cryptsetup-OpenSSL-exception
diff --git a/meta/files/common-licenses/eCos-exception-2.0 b/meta/files/common-licenses/exceptions/eCos-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/eCos-exception-2.0
rename to meta/files/common-licenses/exceptions/eCos-exception-2.0
diff --git a/meta/files/common-licenses/erlang-otp-linking-exception b/meta/files/common-licenses/exceptions/erlang-otp-linking-exception
similarity index 100%
rename from meta/files/common-licenses/erlang-otp-linking-exception
rename to meta/files/common-licenses/exceptions/erlang-otp-linking-exception
diff --git a/meta/files/common-licenses/fmt-exception b/meta/files/common-licenses/exceptions/fmt-exception
similarity index 100%
rename from meta/files/common-licenses/fmt-exception
rename to meta/files/common-licenses/exceptions/fmt-exception
diff --git a/meta/files/common-licenses/freertos-exception-2.0 b/meta/files/common-licenses/exceptions/freertos-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/freertos-exception-2.0
rename to meta/files/common-licenses/exceptions/freertos-exception-2.0
diff --git a/meta/files/common-licenses/gnu-javamail-exception b/meta/files/common-licenses/exceptions/gnu-javamail-exception
similarity index 100%
rename from meta/files/common-licenses/gnu-javamail-exception
rename to meta/files/common-licenses/exceptions/gnu-javamail-exception
diff --git a/meta/files/common-licenses/harbour-exception b/meta/files/common-licenses/exceptions/harbour-exception
similarity index 100%
rename from meta/files/common-licenses/harbour-exception
rename to meta/files/common-licenses/exceptions/harbour-exception
diff --git a/meta/files/common-licenses/i2p-gpl-java-exception b/meta/files/common-licenses/exceptions/i2p-gpl-java-exception
similarity index 100%
rename from meta/files/common-licenses/i2p-gpl-java-exception
rename to meta/files/common-licenses/exceptions/i2p-gpl-java-exception
diff --git a/meta/files/common-licenses/kvirc-openssl-exception b/meta/files/common-licenses/exceptions/kvirc-openssl-exception
similarity index 100%
rename from meta/files/common-licenses/kvirc-openssl-exception
rename to meta/files/common-licenses/exceptions/kvirc-openssl-exception
diff --git a/meta/files/common-licenses/libpri-OpenH323-exception b/meta/files/common-licenses/exceptions/libpri-OpenH323-exception
similarity index 100%
rename from meta/files/common-licenses/libpri-OpenH323-exception
rename to meta/files/common-licenses/exceptions/libpri-OpenH323-exception
diff --git a/meta/files/common-licenses/mif-exception b/meta/files/common-licenses/exceptions/mif-exception
similarity index 100%
rename from meta/files/common-licenses/mif-exception
rename to meta/files/common-licenses/exceptions/mif-exception
diff --git a/meta/files/common-licenses/mxml-exception b/meta/files/common-licenses/exceptions/mxml-exception
similarity index 100%
rename from meta/files/common-licenses/mxml-exception
rename to meta/files/common-licenses/exceptions/mxml-exception
diff --git a/meta/files/common-licenses/openvpn-openssl-exception b/meta/files/common-licenses/exceptions/openvpn-openssl-exception
similarity index 100%
rename from meta/files/common-licenses/openvpn-openssl-exception
rename to meta/files/common-licenses/exceptions/openvpn-openssl-exception
diff --git a/meta/files/common-licenses/polyparse-exception b/meta/files/common-licenses/exceptions/polyparse-exception
similarity index 100%
rename from meta/files/common-licenses/polyparse-exception
rename to meta/files/common-licenses/exceptions/polyparse-exception
diff --git a/meta/files/common-licenses/romic-exception b/meta/files/common-licenses/exceptions/romic-exception
similarity index 100%
rename from meta/files/common-licenses/romic-exception
rename to meta/files/common-licenses/exceptions/romic-exception
diff --git a/meta/files/common-licenses/rsync-linking-exception b/meta/files/common-licenses/exceptions/rsync-linking-exception
similarity index 100%
rename from meta/files/common-licenses/rsync-linking-exception
rename to meta/files/common-licenses/exceptions/rsync-linking-exception
diff --git a/meta/files/common-licenses/sqlitestudio-OpenSSL-exception b/meta/files/common-licenses/exceptions/sqlitestudio-OpenSSL-exception
similarity index 100%
rename from meta/files/common-licenses/sqlitestudio-OpenSSL-exception
rename to meta/files/common-licenses/exceptions/sqlitestudio-OpenSSL-exception
diff --git a/meta/files/common-licenses/stunnel-exception b/meta/files/common-licenses/exceptions/stunnel-exception
similarity index 100%
rename from meta/files/common-licenses/stunnel-exception
rename to meta/files/common-licenses/exceptions/stunnel-exception
diff --git a/meta/files/common-licenses/u-boot-exception-2.0 b/meta/files/common-licenses/exceptions/u-boot-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/u-boot-exception-2.0
rename to meta/files/common-licenses/exceptions/u-boot-exception-2.0
diff --git a/meta/files/common-licenses/vsftpd-openssl-exception b/meta/files/common-licenses/exceptions/vsftpd-openssl-exception
similarity index 100%
rename from meta/files/common-licenses/vsftpd-openssl-exception
rename to meta/files/common-licenses/exceptions/vsftpd-openssl-exception
diff --git a/meta/files/common-licenses/x11vnc-openssl-exception b/meta/files/common-licenses/exceptions/x11vnc-openssl-exception
similarity index 100%
rename from meta/files/common-licenses/x11vnc-openssl-exception
rename to meta/files/common-licenses/exceptions/x11vnc-openssl-exception
diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py
index adcfc827cf..d38206a8d6 100644
--- a/meta/lib/oe/license.py
+++ b/meta/lib/oe/license.py
@@ -454,6 +454,12 @@ def get_license_path(d, node):
             return d.expand("${S}/" + filename), filename
 
     for lic_dir in [d.getVar("COMMON_LICENSE_DIR")] + (d.getVar("LICENSE_PATH") or "").split():
+        if isinstance(node, oe.spdx_license.ExceptionId):
+            p = os.path.join(lic_dir, "exceptions", node.name)
+            if os.path.isfile(p):
+                return p, None
+            return None, None
+
         p = os.path.join(lic_dir, node.name)
         if os.path.isfile(p):
             return p, None
diff --git a/scripts/pull-spdx-licenses.py b/scripts/pull-spdx-licenses.py
index 7d1715ff24..c8e2cfaf5f 100755
--- a/scripts/pull-spdx-licenses.py
+++ b/scripts/pull-spdx-licenses.py
@@ -72,7 +72,7 @@ def update_exceptions(dest, version, overwrite, deprecated):
 
         print(f"[{idx + 1} of {total_count}] ", end="")
 
-        dest_license_file = dest / lic_id
+        dest_license_file = dest / "exceptions" / lic_id
         if dest_license_file.is_file() and not overwrite:
             print(f"Skipping {lic_id} since it already exists")
             continue
