diff --git a/gtksourceview/gtksourceview.c b/gtksourceview/gtksourceview.c
index 26db030..3bfb829 100644
--- a/gtksourceview/gtksourceview.c
+++ b/gtksourceview/gtksourceview.c
@@ -1868,6 +1868,7 @@ move_cursor_words (GtkTextView *text_view,
 	GtkTextBuffer *buffer;
 	GtkTextIter insert;
 	GtkTextIter newplace;
+        GtkTextDirection dir;
 
 	buffer = gtk_text_view_get_buffer (text_view);
 
@@ -1877,9 +1878,17 @@ move_cursor_words (GtkTextView *text_view,
 
 	newplace = insert;
 
-        if (gtk_text_view_get_iter_pango_dir (text_view, &newplace) == PANGO_DIRECTION_RTL)
+        //if (gtk_text_view_get_iter_pango_dir (text_view, &newplace) == PANGO_DIRECTION_RTL)
+        dir = gtk_widget_get_direction (GTK_WIDGET (text_view));
+
+        printf("RTL:%d  LTR:%d  NONE:%d \n", dir == GTK_TEXT_DIR_RTL, dir == GTK_TEXT_DIR_LTR, dir == GTK_TEXT_DIR_NONE);
+
+        dir = gtk_text_iter_get_text_direction (&newplace, dir);
+        if (dir == GTK_TEXT_DIR_RTL)
           count *= -1;
 
+        printf("RTL:%d  LTR:%d  NONE:%d \n\n\n", dir == GTK_TEXT_DIR_RTL, dir == GTK_TEXT_DIR_LTR, dir == GTK_TEXT_DIR_NONE);
+
 	if (count < 0)
 	{
 		if (!_gtk_source_iter_backward_visible_word_starts (&newplace, -count))
