diff --git a/lib/speedreader.c b/lib/speedreader.c
index 069ca7209aed9d277f21c2b0f50ef4b7f964a907..a3514d186b5219407f886162cc8b897880db6c3a 100644
--- a/lib/speedreader.c
+++ b/lib/speedreader.c
@@ -548,14 +548,9 @@ static void sr_clear_clicked_cb(GtkButton *button, GtkTextBuffer *buffer)
 
 static void sr_paste_clicked_cb(GtkButton *button, GtkTextBuffer *buffer)
 {
-	gchar *text;
-	gtk_text_buffer_set_text(buffer, "", 0);
-	text = dict_get_clipboard_contents();
-	if (text != NULL)
-	{
-		gtk_text_buffer_set_text(buffer, text, -1);
-		g_free(text);
-	}
+	GtkClipboard *clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
+ 	gtk_text_buffer_set_text(buffer, "", 0);
+	gtk_text_buffer_paste_clipboard(buffer, clipboard, NULL, TRUE);
 }