diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php
index 217bf02fd39a5516b3f967220c3484831eb3010c..401544cc5d74601a86c4e12ba5ec451226a64fc0 100644
--- a/apps/files_versions/lib/Storage.php
+++ b/apps/files_versions/lib/Storage.php
@@ -337,6 +337,9 @@ class Storage {
 			return false;
 		}
 
+		// Fetch the userfolder to trigger view hooks
+		$userFolder = \OC::$server->getUserFolder($uid);
+
 		$users_view = new View('/'.$uid);
 		$files_view = new View('/'. User::getUser().'/files');
 
@@ -375,9 +378,14 @@ class Storage {
 		if (self::copyFileContents($users_view, $fileToRestore, 'files' . $filename)) {
 			$files_view->touch($file, $revision);
 			Storage::scheduleExpire($uid, $file);
+
+			$node = $userFolder->get($file);
+
+			// TODO: move away from those legacy hooks!
 			\OC_Hook::emit('\OCP\Versions', 'rollback', array(
 				'path' => $filename,
 				'revision' => $revision,
+				'node' => $node,
 			));
 			return true;
 		} else if ($versionCreated) {
diff --git a/lib/private/Preview/Watcher.php b/lib/private/Preview/Watcher.php
index be462d9c935c8f345e3e045dd5f1193039a3c476..0c0531dff94664dc7c22e58b7b2a6e6584f54d83 100644
--- a/lib/private/Preview/Watcher.php
+++ b/lib/private/Preview/Watcher.php
@@ -49,6 +49,10 @@ class Watcher {
 	}
 
 	public function postWrite(Node $node) {
+		$this->deleteNode($node);
+	}
+
+	protected function deleteNode(Node $node) {
 		// We only handle files
 		if ($node instanceof Folder) {
 			return;
@@ -61,4 +65,10 @@ class Watcher {
 			//Nothing to do
 		}
 	}
+
+	public function versionRollback(array $data) {
+		if (isset($data['node'])) {
+			$this->deleteNode($data['node']);
+		}
+	}
 }
diff --git a/lib/private/Preview/WatcherConnector.php b/lib/private/Preview/WatcherConnector.php
index bf9e6c29e4f511a88ecd1101f8febd10e27895b0..f374b909d8f2c7d82333a6ce33d6fb2edc65e063 100644
--- a/lib/private/Preview/WatcherConnector.php
+++ b/lib/private/Preview/WatcherConnector.php
@@ -60,6 +60,8 @@ class WatcherConnector {
 			$this->root->listen('\OC\Files', 'postWrite', function (Node $node) {
 				$this->getWatcher()->postWrite($node);
 			});
+
+			\OC_Hook::connect('\OCP\Versions', 'rollback', $this->getWatcher(), 'versionRollback');
 		}
 	}
 }