diff --git a/dns/powerdns-recursor/Makefile b/dns/powerdns-recursor/Makefile
index 3cc81814b87..37a468371b7 100644
--- a/dns/powerdns-recursor/Makefile
+++ b/dns/powerdns-recursor/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	recursor
-DISTVERSION=	4.8.4
-PORTREVISION=	1
+DISTVERSION=	4.9.0
 CATEGORIES=	dns
 MASTER_SITES=	http://downloads.powerdns.com/releases/
 PKGNAMEPREFIX=	powerdns-
diff --git a/dns/powerdns-recursor/distinfo b/dns/powerdns-recursor/distinfo
index 33830e4d7c0..861c9759087 100644
--- a/dns/powerdns-recursor/distinfo
+++ b/dns/powerdns-recursor/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1680094921
-SHA256 (pdns-recursor-4.8.4.tar.bz2) = f0a63fd08e03da82fa20d333ea5179d1b9259f4264546cf4995286677d9458c7
-SIZE (pdns-recursor-4.8.4.tar.bz2) = 1528092
+TIMESTAMP = 1688122340
+SHA256 (pdns-recursor-4.9.0.tar.bz2) = d36f162843e367646a661a785ca0becde9b68552855bf40532aebafa103966f3
+SIZE (pdns-recursor-4.9.0.tar.bz2) = 1551436
diff --git a/dns/powerdns-recursor/files/patch-rec-main.cc b/dns/powerdns-recursor/files/patch-rec-main.cc
index d233469daf4..abec8d2677d 100644
--- a/dns/powerdns-recursor/files/patch-rec-main.cc
+++ b/dns/powerdns-recursor/files/patch-rec-main.cc
@@ -1,18 +1,18 @@
---- rec-main.cc.orig	2022-12-09 10:46:42 UTC
+--- rec-main.cc.orig	2023-06-30 06:58:36 UTC
 +++ rec-main.cc
-@@ -2609,13 +2609,13 @@ int main(int argc, char** argv)
-                 SYSTEMD_SETID_MSG
+@@ -2829,13 +2829,13 @@ static void initArgs()
+               SYSTEMD_SETID_MSG
  #endif
-                 )
--      = "";
-+      = "pdns";
-     ::arg().set("setuid", "If set, change user id to this uid for more security"
+               )
+-    = "";
++    = "pdns";
+   ::arg().set("setuid", "If set, change user id to this uid for more security"
  #ifdef HAVE_SYSTEMD
-                 SYSTEMD_SETID_MSG
+               SYSTEMD_SETID_MSG
  #endif
-                 )
--      = "";
-+      = "pdns_recursor";
-     ::arg().set("network-timeout", "Wait this number of milliseconds for network i/o") = "1500";
-     ::arg().set("threads", "Launch this number of threads") = "2";
-     ::arg().set("distributor-threads", "Launch this number of distributor threads, distributing queries to other threads") = "0";
+               )
+-    = "";
++    = "pdns_recursor";
+   ::arg().set("network-timeout", "Wait this number of milliseconds for network i/o") = "1500";
+   ::arg().set("threads", "Launch this number of threads") = "2";
+   ::arg().set("distributor-threads", "Launch this number of distributor threads, distributing queries to other threads") = "0";