diff --git a/pidgin/gtkblist.c b/pidgin/gtkblist.c
--- a/pidgin/gtkblist.c
+++ b/pidgin/gtkblist.c
@@ -1152,7 +1152,7 @@
 		chat_account_filter_func, (GCallback)do_joinchat);
 	gtk_dialog_add_buttons(GTK_DIALOG(data->rq_data.window),
 		_("Room _List"), 1,
-		GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+		_("Cancel"), GTK_RESPONSE_CANCEL,
 		PIDGIN_STOCK_CHAT, GTK_RESPONSE_OK, NULL);
 	gtk_dialog_set_default_response(GTK_DIALOG(data->rq_data.window),
 		GTK_RESPONSE_OK);
@@ -6399,8 +6399,8 @@
 		G_CALLBACK(add_buddy_select_account_cb), add_buddy_account_filter_func,
 		G_CALLBACK(add_buddy_cb));
 	gtk_dialog_add_buttons(GTK_DIALOG(data->rq_data.window),
-			GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-			GTK_STOCK_ADD, GTK_RESPONSE_OK,
+			_("Cancel"), GTK_RESPONSE_CANCEL,
+			_("Add"), GTK_RESPONSE_OK,
 			NULL);
 	gtk_dialog_set_default_response(GTK_DIALOG(data->rq_data.window),
 			GTK_RESPONSE_OK);
@@ -6586,8 +6586,8 @@
 			G_CALLBACK(add_chat_resp_cb)));
 	gtk_dialog_add_buttons(GTK_DIALOG(data->chat_data.rq_data.window),
 		_("Room List"), 1,
-		GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-		GTK_STOCK_ADD, GTK_RESPONSE_OK,
+		_("Cancel"), GTK_RESPONSE_CANCEL,
+		_("Add"), GTK_RESPONSE_OK,
 		NULL);
 	gtk_dialog_set_default_response(GTK_DIALOG(data->chat_data.rq_data.window),
 			GTK_RESPONSE_OK);
diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c
--- a/pidgin/gtkconv.c
+++ b/pidgin/gtkconv.c
@@ -6335,8 +6335,8 @@
 
 	warn_close_dialog = gtk_dialog_new_with_buttons(_("Confirm close"),
 							GTK_WINDOW(gtkwin->window), GTK_DIALOG_MODAL,
-							GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-							GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL);
+							_("Cancel"), GTK_RESPONSE_CANCEL,
+							_("Close"), GTK_RESPONSE_OK, NULL);
 
 	gtk_dialog_set_default_response(GTK_DIALOG(warn_close_dialog),
 	                                GTK_RESPONSE_OK);
diff --git a/pidgin/gtknotify.c b/pidgin/gtknotify.c
--- a/pidgin/gtknotify.c
+++ b/pidgin/gtknotify.c
@@ -312,7 +312,7 @@
 	}
 
 	dialog = gtk_dialog_new_with_buttons(title ? title : PIDGIN_ALERT_TITLE,
-										 NULL, 0, GTK_STOCK_CLOSE,
+										 NULL, 0, _("Close"),
 										 GTK_RESPONSE_CLOSE, NULL);
 
 	gtk_window_set_role(GTK_WINDOW(dialog), "notify_dialog");
@@ -669,7 +669,7 @@
 	gtk_widget_show_all(sw);
 
 	/* Add the Close button. */
-	button = gtk_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
+	button = gtk_dialog_add_button(GTK_DIALOG(window), _("Close"), GTK_RESPONSE_CLOSE);
 	gtk_widget_grab_focus(button);
 
 	g_signal_connect_swapped(G_OBJECT(button), "clicked",
@@ -844,10 +844,10 @@
 				}
 				break;
 			case PURPLE_NOTIFY_BUTTON_CONTINUE:
-				button = gtk_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_GO_FORWARD, GTK_RESPONSE_NONE);
+				button = gtk_dialog_add_button(GTK_DIALOG(window), _("Forward"), GTK_RESPONSE_NONE);
 				break;
 			case PURPLE_NOTIFY_BUTTON_ADD:
-				button = gtk_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_ADD, GTK_RESPONSE_NONE);
+				button = gtk_dialog_add_button(GTK_DIALOG(window), _("Add"), GTK_RESPONSE_NONE);
 				break;
 			case PURPLE_NOTIFY_BUTTON_INFO:
 				button = gtk_dialog_add_button(GTK_DIALOG(window), PIDGIN_STOCK_TOOLBAR_USER_INFO, GTK_RESPONSE_NONE);
@@ -878,7 +878,7 @@
 	}
 
 	/* Add the Close button */
-	close_button = gtk_dialog_add_button(GTK_DIALOG(window), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
+	close_button = gtk_dialog_add_button(GTK_DIALOG(window), _("Close"), GTK_RESPONSE_CLOSE);
 
 	g_signal_connect_swapped(G_OBJECT(close_button), "clicked",
 	                         G_CALLBACK(searchresults_close_cb), data);
@@ -1080,7 +1080,7 @@
 	}
 
 	gtk_dialog_add_button(GTK_DIALOG(dialog),
-		GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
+		_("Close"), GTK_RESPONSE_CLOSE);
 
 	gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
 	gtk_label_set_xalign(GTK_LABEL(label), 0);
diff --git a/pidgin/gtksavedstatuses.c b/pidgin/gtksavedstatuses.c
--- a/pidgin/gtksavedstatuses.c
+++ b/pidgin/gtksavedstatuses.c
@@ -584,13 +584,13 @@
 	gtk_widget_set_sensitive(button, FALSE);
 
 	/* Delete button */
-	button = pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_DELETE,
+	button = pidgin_dialog_add_button(GTK_DIALOG(win), _("Delete"),
 			G_CALLBACK(status_window_delete_cb), dialog);
 	dialog->delete_button = button;
 	gtk_widget_set_sensitive(button, FALSE);
 
 	/* Close button */
-	pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_CLOSE,
+	pidgin_dialog_add_button(GTK_DIALOG(win), _("Close"),
 			G_CALLBACK(status_window_close_cb), dialog);
 
 	purple_signal_connect(purple_savedstatuses_get_handle(),
@@ -1192,7 +1192,7 @@
 	gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
 
 	/* Cancel button */
-	pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_CANCEL,
+	pidgin_dialog_add_button(GTK_DIALOG(win), _("Cancel"),
 			G_CALLBACK(status_editor_cancel_cb), dialog);
 
 	/* Use button */
@@ -1213,7 +1213,7 @@
 					 G_CALLBACK(status_editor_ok_cb), dialog);
 
 	/* Save button */
-	button = pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_SAVE,
+	button = pidgin_dialog_add_button(GTK_DIALOG(win), _("Save"),
 			G_CALLBACK(status_editor_ok_cb), dialog);
 	if (dialog->original_title == NULL)
 		gtk_widget_set_sensitive(button, FALSE);
@@ -1459,11 +1459,11 @@
 	gtk_text_view_set_buffer(GTK_TEXT_VIEW(dialog->message_view), dialog->message_buffer);
 
 	/* Cancel button */
-	pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_CANCEL,
+	pidgin_dialog_add_button(GTK_DIALOG(win), _("Cancel"),
 			G_CALLBACK(substatus_editor_cancel_cb), dialog);
 
 	/* OK button */
-	pidgin_dialog_add_button(GTK_DIALOG(win), GTK_STOCK_OK,
+	pidgin_dialog_add_button(GTK_DIALOG(win), _("Okay"),
 			G_CALLBACK(substatus_editor_ok_cb), dialog);
 
 	/* Seed the input widgets with the current values */
diff --git a/pidgin/gtksmiley-manager.c b/pidgin/gtksmiley-manager.c
--- a/pidgin/gtksmiley-manager.c
+++ b/pidgin/gtksmiley-manager.c
@@ -321,8 +321,8 @@
 		smiley ? _("Edit Smiley") : _("Add Smiley"),
 		manager ? GTK_WINDOW(manager->window) : NULL,
 		GTK_DIALOG_DESTROY_WITH_PARENT,
-		GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-		smiley ? GTK_STOCK_SAVE : GTK_STOCK_ADD, GTK_RESPONSE_ACCEPT,
+		_("Cancel"), GTK_RESPONSE_CANCEL,
+		smiley ? _("Save") : _("Add"), GTK_RESPONSE_ACCEPT,
 		NULL));
 	gtk_dialog_set_default_response(
 		edit_dialog->window, GTK_RESPONSE_ACCEPT);
@@ -767,8 +767,8 @@
 		GTK_DIALOG_DESTROY_WITH_PARENT,
 		PIDGIN_STOCK_ADD, GTK_RESPONSE_YES,
 		PIDGIN_STOCK_MODIFY, PIDGIN_RESPONSE_MODIFY,
-		GTK_STOCK_DELETE, GTK_RESPONSE_NO,
-		GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+		_("Delete"), GTK_RESPONSE_NO,
+		_("Close"), GTK_RESPONSE_CLOSE,
 		NULL));
 
 	gtk_window_set_default_size(GTK_WINDOW(win), 50, 400);
diff --git a/pidgin/gtkutils.h b/pidgin/gtkutils.h
--- a/pidgin/gtkutils.h
+++ b/pidgin/gtkutils.h
@@ -88,7 +88,7 @@
 /**
  * pidgin_dialog_add_button:
  * @dialog: The dialog window
- * @label: The stock-id or the label for the button
+ * @label: The label for the button
  * @callback: (scope call): The callback function for the button
  * @callbackdata: The user data for the callback function
  *
diff --git a/pidgin/gtkutils.c b/pidgin/gtkutils.c
--- a/pidgin/gtkutils.c
+++ b/pidgin/gtkutils.c
@@ -152,15 +152,6 @@
 	GtkWidget *button = gtk_button_new_with_mnemonic(label);
 	GtkWidget *bbox = pidgin_dialog_get_action_area(dialog);
 
-	/* Handle stock labels if passed in until nothing calls this
-	 * expecting a GtkStock button */
-	if (label != NULL) {
-		GtkStockItem item;
-		if (gtk_stock_lookup(label, &item)) {
-			g_object_set(button, "use-stock", TRUE, NULL);
-		}
-	}
-
 	gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
 	if (callback)
 		g_signal_connect(G_OBJECT(button), "clicked", callback, callbackdata);
