diff --git a/apps/files_versions/js/versioncollection.js b/apps/files_versions/js/versioncollection.js
index 3f8214cde8ccc9c58b8ed0491c8f10882cde8824..176f8e7529c44bedc236f3ffcfd3c891feddfd8f 100644
--- a/apps/files_versions/js/versioncollection.js
+++ b/apps/files_versions/js/versioncollection.js
@@ -67,6 +67,11 @@
 			return this.fetch({remove: false});
 		},
 
+		reset: function() {
+			this._currentIndex = 0;
+			OC.Backbone.Collection.prototype.reset.apply(this, arguments);
+		},
+
 		parse: function(result) {
 			var results = _.map(result.data.versions, function(version) {
 				var revision = parseInt(version.version, 10);
diff --git a/apps/files_versions/js/versionstabview.js b/apps/files_versions/js/versionstabview.js
index 55f2486819655776c225c12ea099ca053acb024e..f2b1c18bd37c80d481e4494df8061f13f5c12f0c 100644
--- a/apps/files_versions/js/versionstabview.js
+++ b/apps/files_versions/js/versionstabview.js
@@ -85,12 +85,18 @@
 			ev.preventDefault();
 			revision = $target.attr('data-revision');
 
+			this.$el.find('.versions, .showMoreVersions').addClass('hidden');
+
 			var versionModel = this.collection.get(revision);
 			versionModel.revert({
 				success: function() {
 					// reset and re-fetch the updated collection
+					self.$versionsContainer.empty();
 					self.collection.setFileInfo(fileInfoModel);
-					self.collection.fetch();
+					self.collection.reset([], {silent: true});
+					self.collection.fetchNext();
+
+					self.$el.find('.versions').removeClass('hidden');
 
 					// update original model
 					fileInfoModel.trigger('busy', fileInfoModel, false);
@@ -157,7 +163,7 @@
 			if (fileInfo) {
 				this.render();
 				this.collection.setFileInfo(fileInfo);
-				this.collection.reset({silent: true});
+				this.collection.reset([], {silent: true});
 				this.nextPage();
 			} else {
 				this.render();