diff --git a/typo3/sysext/workspaces/Classes/Service/HistoryService.php b/typo3/sysext/workspaces/Classes/Service/HistoryService.php
index 6e7cfa881af756f84d55687d6063e5ebb512c1b9..f7ae7c952e96b657090f71ccc49f5968eedbb54c 100644
--- a/typo3/sysext/workspaces/Classes/Service/HistoryService.php
+++ b/typo3/sysext/workspaces/Classes/Service/HistoryService.php
@@ -89,7 +89,7 @@ class HistoryService implements \TYPO3\CMS\Core\SingletonInterface {
 		if (!empty($entry['action'])) {
 			$differences = $entry['action'];
 		} else {
-			$differences = implode('<br/>', $this->getDifferences($entry));
+			$differences = $this->getDifferences($entry);
 		}
 		return array(
 			'datetime' => htmlspecialchars(BackendUtility::datetime($entry['tstamp'])),
@@ -117,7 +117,12 @@ class HistoryService implements \TYPO3\CMS\Core\SingletonInterface {
 						BackendUtility::getProcessedValue($tableName, $field, $entry['oldRecord'][$field], 0, TRUE),
 						BackendUtility::getProcessedValue($tableName, $field, $entry['newRecord'][$field], 0, TRUE)
 					);
-					$differences[] = nl2br($fieldDifferences);
+					if (!empty($fieldDifferences)) {
+						$differences[] = array(
+							'label' => $this->getLanguageService()->sl((string)BackendUtility::getItemLabel($tableName, $field)),
+							'html' => nl2br(trim($fieldDifferences)),
+						);
+					}
 				}
 			}
 		}
@@ -168,4 +173,11 @@ class HistoryService implements \TYPO3\CMS\Core\SingletonInterface {
 		return $this->differencesObject;
 	}
 
+	/**
+	 * @return \TYPO3\CMS\Lang\LanguageService
+	 */
+	protected function getLanguageService() {
+		return $GLOBALS['LANG'];
+	}
+
 }
diff --git a/typo3/sysext/workspaces/Resources/Public/JavaScript/helpers.js b/typo3/sysext/workspaces/Resources/Public/JavaScript/helpers.js
index 17336407f61fe6800d871c949ccc5793e4c34709..e6a6f00758b62de7988f4de5915ba51abf7ee323 100644
--- a/typo3/sysext/workspaces/Resources/Public/JavaScript/helpers.js
+++ b/typo3/sysext/workspaces/Resources/Public/JavaScript/helpers.js
@@ -172,7 +172,23 @@ TYPO3.Workspaces.Helpers = {
 						columns: [
 							{ width: 30, id: 'datetime', header: 'Date' },
 							{ width: 20, id: 'user', header: 'User', dataIndex: 'user' },
-							{ id: 'differences', header: 'Differences', dataIndex: 'differences' }
+							{
+								id: 'differences',
+								header: 'Differences',
+								dataIndex: 'differences',
+								renderer: function(value, metaData, record, rowIndex, colIndex, store) {
+									if (typeof value === 'string') {
+										return value;
+									} else {
+										var template = new Ext.XTemplate(
+											'<tpl for=".">',
+												'<div style="display: block; padding: 3px 0;"><strong>{label}</strong> {html}</div>',
+											'</tpl>'
+										);
+										return template.apply(value);
+									}
+								}
+							}
 						]
 					})
 				}