diff --git a/pidgin/pidginnotificationaddcontact.h b/pidgin/pidginnotificationaddcontact.h
--- a/pidgin/pidginnotificationaddcontact.h
+++ b/pidgin/pidginnotificationaddcontact.h
@@ -31,7 +31,7 @@
 
 #include <gtk/gtk.h>
 
-#include <handy.h>
+#include <adwaita.h>
 
 #include <purple.h>
 
@@ -49,7 +49,7 @@ G_BEGIN_DECLS
 
 #define PIDGIN_TYPE_NOTIFICATION_ADD_CONTACT (pidgin_notification_add_contact_get_type())
 G_DECLARE_FINAL_TYPE(PidginNotificationAddContact, pidgin_notification_add_contact,
-                     PIDGIN, NOTIFICATION_ADD_CONTACT, HdyActionRow)
+                     PIDGIN, NOTIFICATION_ADD_CONTACT, AdwActionRow)
 
 /**
  * pidgin_notification_add_contact_new:
# HG changeset patch
# Node ID 46c37ed3c8cc
# Parent  f97febc60e36
diff --git a/pidgin/pidginnotificationaddcontact.c b/pidgin/pidginnotificationaddcontact.c
--- a/pidgin/pidginnotificationaddcontact.c
+++ b/pidgin/pidginnotificationaddcontact.c
@@ -29,7 +29,7 @@
 #include "pidgin/gtkdialogs.h"
 
 struct _PidginNotificationAddContact {
-	HdyActionRow parent;
+	AdwActionRow parent;
 
 	PurpleNotification *notification;
 
@@ -45,7 +45,7 @@ enum {
 static GParamSpec *properties[N_PROPERTIES] = { NULL, };
 
 G_DEFINE_TYPE(PidginNotificationAddContact, pidgin_notification_add_contact,
-              HDY_TYPE_ACTION_ROW)
+              ADW_TYPE_ACTION_ROW)
 
 /******************************************************************************
  * Helpers
@@ -61,11 +61,11 @@ pidgin_notification_add_contact_update(P
 	g_return_if_fail(PIDGIN_IS_NOTIFICATION_ADD_CONTACT(add_contact));
 
 	if(!PURPLE_IS_NOTIFICATION(add_contact->notification)) {
-		hdy_preferences_row_set_title(HDY_PREFERENCES_ROW(add_contact),
+		adw_preferences_row_set_title(ADW_PREFERENCES_ROW(add_contact),
 		                              _("Notification missing"));
 
-		hdy_action_row_set_icon_name(HDY_ACTION_ROW(add_contact), NULL);
-		hdy_action_row_set_subtitle(HDY_ACTION_ROW(add_contact), NULL);
+		adw_action_row_set_icon_name(ADW_ACTION_ROW(add_contact), NULL);
+		adw_action_row_set_subtitle(ADW_ACTION_ROW(add_contact), NULL);
 
 		gtk_widget_hide(add_contact->add);
 		gtk_widget_hide(add_contact->message);
@@ -75,11 +75,11 @@ pidgin_notification_add_contact_update(P
 
 	account = purple_notification_get_account(add_contact->notification);
 	if(!PURPLE_IS_ACCOUNT(account)) {
-		hdy_preferences_row_set_title(HDY_PREFERENCES_ROW(add_contact),
+		adw_preferences_row_set_title(ADW_PREFERENCES_ROW(add_contact),
 		                              _("Notification is missing an account"));
 
-		hdy_action_row_set_icon_name(HDY_ACTION_ROW(add_contact), NULL);
-		hdy_action_row_set_subtitle(HDY_ACTION_ROW(add_contact), NULL);
+		adw_action_row_set_icon_name(ADW_ACTION_ROW(add_contact), NULL);
+		adw_action_row_set_subtitle(ADW_ACTION_ROW(add_contact), NULL);
 
 		gtk_widget_hide(add_contact->add);
 		gtk_widget_hide(add_contact->message);
@@ -101,13 +101,13 @@ pidgin_notification_add_contact_update(P
 			icon_name = "dialog-question";
 		}
 	}
-	hdy_action_row_set_icon_name(HDY_ACTION_ROW(add_contact), icon_name);
+	adw_action_row_set_icon_name(ADW_ACTION_ROW(add_contact), icon_name);
 
 	title = purple_notification_get_title(add_contact->notification);
-	hdy_preferences_row_set_title(HDY_PREFERENCES_ROW(add_contact), title);
+	adw_preferences_row_set_title(ADW_PREFERENCES_ROW(add_contact), title);
 
 	message = purple_add_contact_request_get_message(request);
-	hdy_action_row_set_subtitle(HDY_ACTION_ROW(add_contact), message);
+	adw_action_row_set_subtitle(ADW_ACTION_ROW(add_contact), message);
 
 	gtk_widget_show(add_contact->add);
 	gtk_widget_show(add_contact->message);
diff --git a/pidgin/resources/Notifications/addcontact.ui b/pidgin/resources/Notifications/addcontact.ui
--- a/pidgin/resources/Notifications/addcontact.ui
+++ b/pidgin/resources/Notifications/addcontact.ui
@@ -19,24 +19,22 @@ along with this program; if not, see <ht
 
 -->
 <interface>
-  <requires lib="gtk+" version="3.24"/>
-  <requires lib="libhandy" version="0.0"/>
+  <requires lib="gtk" version="4.0"/>
+  <requires lib="Adw" version="1.0"/>
   <!-- interface-license-type gplv2 -->
   <!-- interface-name Pidgin -->
   <!-- interface-description Internet Messenger -->
   <!-- interface-copyright Pidgin Developers <devel@pidgin.im> -->
-  <template class="PidginNotificationAddContact" parent="HdyActionRow">
-    <property name="visible">True</property>
-    <property name="can-focus">True</property>
-    <property name="activatable">False</property>
+  <template class="PidginNotificationAddContact" parent="AdwActionRow">
+    <property name="focusable">1</property>
+    <property name="activatable">0</property>
     <property name="title-lines">3</property>
     <property name="subtitle-lines">3</property>
     <child>
       <object class="GtkButton" id="add">
-        <property name="label" translatable="yes">Add</property>
-        <property name="visible">True</property>
-        <property name="can-focus">True</property>
-        <property name="receives-default">True</property>
+        <property name="label" translatable="1">Add</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
         <property name="halign">center</property>
         <property name="valign">center</property>
         <signal name="clicked" handler="pidgin_notification_add_contact_add_cb" object="PidginNotificationAddContact" swapped="no"/>
@@ -47,10 +45,9 @@ along with this program; if not, see <ht
     </child>
     <child>
       <object class="GtkButton" id="message">
-        <property name="label" translatable="yes">Message</property>
-        <property name="visible">True</property>
-        <property name="can-focus">True</property>
-        <property name="receives-default">True</property>
+        <property name="label" translatable="1">Message</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
         <property name="halign">center</property>
         <property name="valign">center</property>
         <signal name="clicked" handler="pidgin_notification_add_contact_message_cb" object="PidginNotificationAddContact" swapped="no"/>
@@ -58,17 +55,16 @@ along with this program; if not, see <ht
     </child>
     <child>
       <object class="GtkButton" id="remove">
-        <property name="visible">True</property>
-        <property name="can-focus">True</property>
-        <property name="receives-default">True</property>
+        <property name="focusable">1</property>
+        <property name="receives-default">1</property>
         <property name="halign">center</property>
         <property name="valign">center</property>
-        <property name="relief">none</property>
         <signal name="clicked" handler="pidgin_notification_add_contact_remove_cb" object="PidginNotificationAddContact" swapped="no"/>
+        <style>
+          <class name="flat"/>
+        </style>
         <child>
           <object class="GtkImage">
-            <property name="visible">True</property>
-            <property name="can-focus">False</property>
             <property name="icon-name">edit-delete-symbolic</property>
           </object>
         </child>
