--- a/plugins/print-notifications/gsd-printer.c
+++ b/plugins/print-notifications/gsd-printer.c
@@ -743,9 +743,9 @@ set_default_paper_size (const gchar *printer_name,
         GDBusProxy  *proxy;
         GVariant    *output;
         GError      *error = NULL;
-        gchar       *value = NULL;
         gint         i, j, k;
         const gchar *paper_size;
+        GVariantBuilder *builder;
 
         proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
                                                G_DBUS_PROXY_FLAGS_NONE,
@@ -766,6 +766,33 @@ set_default_paper_size (const gchar *printer_name,
          * FIXME: Handle more than A4 and Letter:
          * https://bugzilla.gnome.org/show_bug.cgi?id=660769 */
         paper_size = gtk_paper_size_get_default ();
+        builder = g_variant_builder_new (G_VARIANT_TYPE ("as"));
+        if (g_str_equal (paper_size, GTK_PAPER_NAME_LETTER))
+                g_variant_builder_add (builder, "s", "na-letter");
+        else
+                g_variant_builder_add (builder, "s", "iso-a4");
+
+        output = g_dbus_proxy_call_sync (proxy,
+                                         "PrinterAddOption",
+                                         g_variant_new ("(ssas)",
+                                                        printer_name ? printer_name : "",
+                                                        "media",
+                                                        builder),
+                                         G_DBUS_CALL_FLAGS_NONE,
+                                         DBUS_TIMEOUT,
+                                         NULL,
+                                         &error);
+
+        if (output) {
+                g_variant_unref (output);
+        } else {
+                if (error->domain == G_DBUS_ERROR &&
+                    (error->code == G_DBUS_ERROR_SERVICE_UNKNOWN ||
+                     error->code == G_DBUS_ERROR_UNKNOWN_METHOD)) {
+                        gchar *value = NULL;
+
+                        g_error_free (error);
+
         if (g_str_equal (paper_size, GTK_PAPER_NAME_LETTER))
                 paper_size = "Letter";
         else
@@ -794,10 +821,9 @@ set_default_paper_size (const gchar *printer_name,
         }
 
         if (value) {
-                GVariantBuilder *builder;
-
                 builder = g_variant_builder_new (G_VARIANT_TYPE ("as"));
                 g_variant_builder_add (builder, "s", value);
+                                g_free (value);
 
                 output = g_dbus_proxy_call_sync (proxy,
                                                  "PrinterAddOptionDefault",
@@ -816,8 +842,12 @@ set_default_paper_size (const gchar *printer_name,
                         g_warning ("%s", error->message);
                         g_error_free (error);
                 }
-
-                g_free (value);
+                        }
+                }
+                else {
+                        g_warning ("%s", error->message);
+                        g_error_free (error);
+                }
         }
 
         g_object_unref (proxy);
