diff --git a/debian/changelog b/debian/changelog
index 9df38d75c..f895cfe02 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+spades (4.0.0+really3.15.5+dfsg-3.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add upstream patch Try_to_unbreak.patch (Closes: #1143706)
+
+ -- Maximiliano Curia <maxy@debian.org>  Tue, 22 Sep 2026 14:37:02 +0200
+
 spades (4.0.0+really3.15.5+dfsg-3) unstable; urgency=medium
 
   * Fix build with CMake 4
diff --git a/debian/patches/Try_to_unbreak.patch b/debian/patches/Try_to_unbreak.patch
new file mode 100644
index 000000000..d7789d442
--- /dev/null
+++ b/debian/patches/Try_to_unbreak.patch
@@ -0,0 +1,58 @@
+Description: Try to unbreak
+Origin: upstream, https://github.com/ablab/spades/commit/26067c33cda386b61dba0455985a9d0bc7c263f3
+Author: Anton Korobeynikov <anton@korobeynikov.info>
+Date: Tue, 16 Nov 2021 00:28:59 +0300
+
+Index: spades/assembler/ext/include/bamtools/api/algorithms/Sort.h
+===================================================================
+--- spades.orig/assembler/ext/include/bamtools/api/algorithms/Sort.h
++++ spades/assembler/ext/include/bamtools/api/algorithms/Sort.h
+@@ -76,7 +76,7 @@ struct API_EXPORT Sort {
+         { }
+ 
+         // comparison function
+-        bool operator()(const BamTools::BamAlignment& lhs, const BamTools::BamAlignment& rhs) {
++        bool operator()(const BamTools::BamAlignment& lhs, const BamTools::BamAlignment& rhs) const {
+             return sort_helper(m_order, lhs.Name, rhs.Name);
+         }
+ 
+@@ -112,7 +112,7 @@ struct API_EXPORT Sort {
+         { }
+ 
+         // comparison function
+-        bool operator()(const BamTools::BamAlignment& lhs, const BamTools::BamAlignment& rhs) {
++        bool operator()(const BamTools::BamAlignment& lhs, const BamTools::BamAlignment& rhs) const {
+ 
+             // force unmapped aligmnents to end
+             if ( lhs.RefID == -1 ) return false;
+@@ -161,7 +161,7 @@ struct API_EXPORT Sort {
+         { }
+ 
+         // comparison function
+-        bool operator()(const BamTools::BamAlignment& lhs, const BamTools::BamAlignment& rhs) {
++        bool operator()(const BamTools::BamAlignment& lhs, const BamTools::BamAlignment& rhs) const {
+ 
+             // force alignments without tag to end
+             T lhsTagValue;
+@@ -196,7 +196,7 @@ struct API_EXPORT Sort {
+     struct Unsorted : public AlignmentSortBase {
+ 
+         // comparison function
+-        inline bool operator()(const BamTools::BamAlignment&, const BamTools::BamAlignment&) {
++        inline bool operator()(const BamTools::BamAlignment&, const BamTools::BamAlignment&) const {
+             return false;   // returning false tends to retain insertion order
+         }
+ 
+Index: spades/assembler/ext/src/bamtools/api/internal/bam/BamMultiMerger_p.h
+===================================================================
+--- spades.orig/assembler/ext/src/bamtools/api/internal/bam/BamMultiMerger_p.h
++++ spades/assembler/ext/src/bamtools/api/internal/bam/BamMultiMerger_p.h
+@@ -61,7 +61,7 @@ struct MergeItemSorter : public std::bin
+             : m_comp(comp)
+         { }
+ 
+-        bool operator()(const MergeItem& lhs, const MergeItem& rhs) {
++        bool operator()(const MergeItem& lhs, const MergeItem& rhs) const {
+             const BamAlignment& l = *lhs.Alignment;
+             const BamAlignment& r = *rhs.Alignment;
+             return m_comp(l,r);
diff --git a/debian/patches/series b/debian/patches/series
index 094e24f6a..e0cddfe0b 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -24,3 +24,4 @@ typos.patch
 python3.12.patch
 raw_regex_pattern.patch
 gcc-15.patch
+Try_to_unbreak.patch
