diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 66453740f5d939992d256a8c5a5a4b64f65b0260..b8ae00ac494c0c9bd212395f993d8807f10d51b0 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -422,12 +422,27 @@ var FileList={
 								}
 								tr.find('.fileactions').effect('highlight', {}, 5000);
 								tr.effect('highlight', {}, 5000);
+								// remove loading mark and recover old image
+								td.css('background-image', oldBackgroundImage);
+							}
+							else {
+								var fileInfo = result.data;
+								tr.attr('data-mime', fileInfo.mime);
+								tr.attr('data-etag', fileInfo.etag);
+								if (fileInfo.isPreviewAvailable) {
+									Files.lazyLoadPreview(fileInfo.directory + '/' + fileInfo.name, result.data.mime, function(previewpath) {
+										tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
+									}, null, null, result.data.etag);
+								}
+								else {
+									tr.find('td.filename').removeClass('preview').attr('style','background-image:url('+fileInfo.icon+')');
+								}
 							}
 							// reinsert row
 							tr.detach();
 							FileList.insertElement( tr.attr('data-file'), tr.attr('data-type'),tr );
-							// remove loading mark and recover old image
-							td.css('background-image', oldBackgroundImage);
+							// update file actions in case the extension changed
+							FileActions.display( tr.find('td.filename'), true);
 						}
 					});
 				}
diff --git a/apps/files/lib/app.php b/apps/files/lib/app.php
index f5ac11b2168f3f32f4fd11d71671e297d810594b..ea94ea43ef3891f419989b9c2c0e89589f1d8625 100644
--- a/apps/files/lib/app.php
+++ b/apps/files/lib/app.php
@@ -76,12 +76,19 @@ class App {
 			$this->view->rename($dir . '/' . $oldname, $dir . '/' . $newname)
 		) {
 			// successful rename
-			$result['success'] = true;
-			$result['data'] = array(
-				'dir'		=> $dir,
-				'file'		=> $oldname,
-				'newname'	=> $newname
+			$meta = $this->view->getFileInfo($dir . '/' . $newname);
+			$fileinfo = array(
+				'id' => $meta['fileid'],
+				'mime' => $meta['mimetype'],
+				'size' => $meta['size'],
+				'etag' => $meta['etag'],
+				'directory' => $dir,
+				'name' => $newname,
+				'isPreviewAvailable' => \OC::$server->getPreviewManager()->isMimeSupported($meta['mimetype']),
+				'icon' => \OCA\Files\Helper::determineIcon($meta)
 			);
+			$result['success'] = true;
+			$result['data'] = $fileinfo;
 		} else {
 			// rename failed
 			$result['data'] = array(