diff --git a/src/calls-main-window.c b/src/calls-main-window.c
index 5fbb8f5..2c69bd6 100644
--- a/src/calls-main-window.c
+++ b/src/calls-main-window.c
@@ -51,8 +51,7 @@ struct _CallsMainWindow {
   AdwViewSwitcherTitle   *title_switcher;
   AdwViewStack           *main_stack;
 
-  GtkRevealer            *permanent_error_revealer;
-  GtkLabel               *permanent_error_label;
+  AdwBanner              *permanent_error_banner;
 
   CallsAccountOverview   *account_overview;
   CallsNewCallBox        *new_call;
@@ -314,8 +313,10 @@ state_changed_cb (CallsMainWindow *self,
   else if (state_flags & CALLS_MANAGER_FLAGS_UNKNOWN)
     error = _("Can't place calls: No plugin loaded");
 
-  gtk_label_set_text (self->permanent_error_label, error);
-  gtk_revealer_set_reveal_child (self->permanent_error_revealer, !!error);
+  if (error)
+    adw_banner_set_title (self->permanent_error_banner, error);
+
+  adw_banner_set_revealed (self->permanent_error_banner, !!error);
 }
 
 
@@ -435,8 +436,7 @@ calls_main_window_class_init (CallsMainWindowClass *klass)
   gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Calls/ui/main-window.ui");
   gtk_widget_class_bind_template_child (widget_class, CallsMainWindow, toast_overlay);
   gtk_widget_class_bind_template_child (widget_class, CallsMainWindow, main_stack);
-  gtk_widget_class_bind_template_child (widget_class, CallsMainWindow, permanent_error_revealer);
-  gtk_widget_class_bind_template_child (widget_class, CallsMainWindow, permanent_error_label);
+  gtk_widget_class_bind_template_child (widget_class, CallsMainWindow, permanent_error_banner);
 
   gtk_widget_class_bind_template_child (widget_class, CallsMainWindow, ussd_dialog);
   gtk_widget_class_bind_template_child (widget_class, CallsMainWindow, ussd_stack);
diff --git a/src/ui/main-window.ui b/src/ui/main-window.ui
index 889f15e..c80164b 100644
--- a/src/ui/main-window.ui
+++ b/src/ui/main-window.ui
@@ -37,17 +37,7 @@
               <object class="GtkBox">
                 <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkRevealer" id="permanent_error_revealer">
-                    <property name="reveal_child">True</property>
-                    <property name="child">
-                      <object class="GtkLabel" id="permanent_error_label">
-                        <property name="justify">center</property>
-                        <property name="wrap">True</property>
-                        <style>
-                          <class name="error-state-message"/>
-                        </style>
-                      </object>
-                    </property>
+                  <object class="AdwBanner" id="permanent_error_banner">
                   </object>
                 </child>
                 <child>