diff --git a/utils/gddrescue/Makefile b/utils/gddrescue/Makefile
index 7260aacef..b0ac34208 100644
--- a/utils/gddrescue/Makefile
+++ b/utils/gddrescue/Makefile
@@ -5,12 +5,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gddrescue
-PKG_VERSION:=1.23
-PKG_RELEASE:=4
+PKG_VERSION:=1.26
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.xz
-PKG_SOURCE_URL:=http://http.debian.net/debian/pool/main/g/$(PKG_NAME)
-PKG_HASH:=5831d7e24070bc700d8f22deaeec56af1149392ce30ae67254096eaf8c9169ab
+PKG_SOURCE_URL:=http://archive.ubuntu.com/ubuntu/pool/universe/g/$(PKG_NAME)
+PKG_HASH:=4b50d3af7e14c1be37b732e4f7afc277ebe0d1d0519f26673c1fd5f1a6dcb0db
+PKG_BUILD_DIR:=$(BUILD_DIR)/ddrescue-$(PKG_VERSION)
+
 
 PKG_MAINTAINER:=Lucian Cristian <lucian.cristian@gmail.com>
 PKG_LICENSE:=GPL-2.0-or-later
diff --git a/utils/gddrescue/patches/001-fix_uclibc.patch b/utils/gddrescue/patches/001-fix_uclibc.patch
deleted file mode 100644
index c516d2cae..000000000
--- a/utils/gddrescue/patches/001-fix_uclibc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/block.h
-+++ b/block.h
-@@ -34,6 +34,7 @@ class Block
-     { if( size_ < 0 || size_ > LLONG_MAX - pos_ ) size_ = LLONG_MAX - pos_; }
- 
- public:
-+  Block() {}		// default constructor
-   Block( const long long p, const long long s ) : pos_( p ), size_( s )
-     { if( p < 0 ) { pos_ = 0; if( s > 0 ) size_ -= std::min( s, -p ); }
-       fix_size(); }
-@@ -102,6 +103,7 @@ private:
-   Status status_;
- 
- public:
-+  Sblock() {}				// default constructor
-   Sblock( const Block & b, const Status st )
-     : Block( b ), status_( st ) {}
-   Sblock( const long long p, const long long s, const Status st )
---- a/mapbook.cc
-+++ b/mapbook.cc
-@@ -19,6 +19,7 @@
- 
- #include <algorithm>
- #include <cerrno>
-+#include <cctype>
- #include <climits>
- #include <cstdio>
- #include <cstdlib>