Index: wp-admin/css/wp-admin-rtl.css
===================================================================
--- wp-admin/css/wp-admin-rtl.css	(revision 24529)
+++ wp-admin/css/wp-admin-rtl.css	(working copy)
@@ -975,17 +975,17 @@
 	left: 6px;
 }
 
-#toggle-revision-compare-mode {
+.revision-toggle-compare-mode {
 	right: auto;
 	left: 0;
 	padding: 9px 0 0 9px;
 }
 
-#diff-next-revision {
+.revisions-next {
 	float: left;
 }
 
-#diff-previous-revision {
+.revisions-previous {
 	float: right;
 }
 
Index: wp-admin/js/revisions.js
===================================================================
--- wp-admin/js/revisions.js	(revision 24529)
+++ wp-admin/js/revisions.js	(working copy)
@@ -30,7 +30,7 @@
 
 		comparator: function( revision ) {
 			return revision.id;
-		},
+		}
 	});
 
 	revisions.model.Field = Backbone.Model.extend({});
@@ -101,7 +101,6 @@
 			return this.fetch({ data: { compare: comparisons }, remove: false });
 		},
 
-/**/
 		loadLast: function( num ) {
 			num     = num || 1;
 			var ids = this.getProximalDiffIds();
@@ -273,7 +272,7 @@
 
 		initialize: function() {
 			// Add the button view
-			this.views.add( new revisions.view.Buttons({ 
+			this.views.add( new revisions.view.Buttons({
 				model: this.model
 			}));
 
@@ -314,7 +313,7 @@
 			if( this.model.get( 'to' ).attributes.current ) {
 				$( '#restore-revision' ).prop( 'disabled', true);
 			} else {
-				$( '#restore-revision' ).prop( 'disabled', false)
+				$( '#restore-revision' ).prop( 'disabled', false);
 			}
 		}
 	});
@@ -328,14 +327,14 @@
 		template: wp.template('revisions-controls'),
 
 		initialize: function() {
-			this.$el.html( this.template() )
+			this.$el.html( this.template() );
 		},
 
 		events: {
 			'click #next': 'nextRevision',
 			'click #previous': 'previousRevision'
 		},
-		
+
 		gotoModel: function( toIndex ) {
 			var attributes = {
 				to: this.model.revisions.at( isRtl ? this.model.revisions.length - toIndex - 1 : toIndex ) // Reverse directions for Rtl
@@ -350,13 +349,13 @@
 		},
 
 		nextRevision: function() {
-			var toIndex = this.model.revisions.indexOf( this.model.get( 'to' ) );
+			var toIndex = isRtl ? this.model.revisions.length - this.model.revisions.indexOf( this.model.get( 'to' ) ) - 1 : this.model.revisions.indexOf( this.model.get( 'to' ) );
 			toIndex     = isRtl ? toIndex - 1 : toIndex + 1;
 			this.gotoModel( toIndex );
 		},
-		
+
 		previousRevision: function() {
-			var toIndex = this.model.revisions.indexOf( this.model.get('to') );
+			var toIndex = isRtl ? this.model.revisions.length - this.model.revisions.indexOf( this.model.get( 'to' ) ) - 1 : this.model.revisions.indexOf( this.model.get( 'to' ) );
 			toIndex     = isRtl ? toIndex + 1 : toIndex - 1;
 			this.gotoModel( toIndex );
 		},
@@ -367,8 +366,8 @@
 
 		// Check to see if the Previous or Next buttons need to be disabled or enabled
 		disabledButtonCheck: function() {
-			var maxVal   = isRtl ? 0 : this.model.revisions.length - 1,
-				minVal   = isRtl ? this.model.revisions.length - 1 : 0,
+			var maxVal   = this.model.revisions.length - 1,
+				minVal   = 0,
 				next     = $( '.revisions-next .button' ),
 				previous = $( '.revisions-previous .button' ),
 				val      = this.model.revisions.indexOf( this.model.get( 'to' ) );
@@ -384,9 +383,7 @@
 				previous.prop( 'disabled', true );
 			else
 				previous.prop( 'disabled', false );
-		},
-
-
+		}
 	});
 
 	// The slider view.
@@ -404,7 +401,7 @@
 
 			// Find the initially selected revision
 			var initiallySelectedRevisionIndex =
-				this.model.revisions.indexOf( 
+				this.model.revisions.indexOf(
 					this.model.revisions.findWhere(  { id: Number( revisions.settings.selectedRevision ) } ) );
 
 			this.settings = new revisions.model.Slider({
@@ -420,14 +417,21 @@
 			this.$el.slider( this.settings.toJSON() );
 			this.settings.on( 'change', function( model, options ) {
 				// Apply changes to slider settings here.
- 				this.$el.slider( { value: this.model.revisions.indexOf( this.model.get( 'to' ) ) } ); // Set handle to current to model
+				if ( isRtl ) {
+					this.$el.slider( { // Order reversed in RTL mode
+						value: this.model.revisions.length - this.model.revisions.indexOf( this.model.get( 'to' ) ) - 1
+					} );
+				} else {
+					this.$el.slider( { // Set handle to current to model
+						value: this.model.revisions.indexOf( this.model.get( 'to' ) )
+					} );
+				}
 			}, this );
 			// Reset to the initially selected revision
 			this.slide( '', this.settings.attributes );
 
 			// Listen for changes in the diffId
 			this.listenTo( this.model, 'change:diffId', this.diffIdChanged );
-
 		},
 
 		diffIdChanged: function() {
@@ -436,8 +440,8 @@
 		},
 
 		start: function( event, ui ) {
-			// Track the mouse position to enable smooth dragging, overrides default jquery ui step behaviour 
-			$( window ).mousemove( function( e ) { 
+			// Track the mouse position to enable smooth dragging, overrides default jquery ui step behaviour
+			$( window ).mousemove( function( e ) {
 				var sliderLeft  = $( '.wp-slider' ).offset().left,
 					sliderRight = sliderLeft + $( '.wp-slider' ).width();
 
@@ -449,16 +453,16 @@
 				} else {
 					$( ui.handle ).css( 'left', e.clientX - sliderLeft ); // Mouse in slider
 				}
-			} ); // End mousemove 
+			} ); // End mousemove
 		},
 
 		slide: function( event, ui ) {
 			var attributes = {
-				to: this.model.revisions.at( isRtl ? this.model.revisions.length - ui.value - 1 : ui.value ) // Reverse directions for Rtl
+				to: this.model.revisions.at( isRtl ? this.model.revisions.length - ui.value - 1 : ui.value ) // Reverse directions for RTL
 			};
 
 			// If we're at the first revision, unset 'from'.
-			if ( isRtl ? this.model.revisions.length - ui.value - 1 : ui.value ) // Reverse directions for Rtl
+			if ( isRtl ? this.model.revisions.length - ui.value - 1 : ui.value ) // Reverse directions for RTL
 				attributes.from = this.model.revisions.at( isRtl ? this.model.revisions.length - ui.value - 2 : ui.value - 1 );
 			else
 				this.model.unset('from', { silent: true });
