diff --git a/src/client/components/ResultTable.js b/src/client/components/ResultTable.js
index d6738ca6d03dd17f280a0e73873a60abf34a349c..37f66fb25fd42b3b26aaf4334f231a2a57f9365d 100644
--- a/src/client/components/ResultTable.js
+++ b/src/client/components/ResultTable.js
@@ -108,6 +108,7 @@ class ResultTable extends React.Component {
           return (
             <ResultTableCell
               key={column.id}
+              columnId={column.id}
               data={row[column.id] == null ? '-' : row[column.id]}
               valueType={column.valueType}
               makeLink={column.makeLink}
diff --git a/src/client/components/ResultTableCell.js b/src/client/components/ResultTableCell.js
index 5a944e1dc02aa8d792c15fc3fe0c49b552898c0c..c95675a525053233a1095e3910810589e668de67 100644
--- a/src/client/components/ResultTableCell.js
+++ b/src/client/components/ResultTableCell.js
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import { orderBy, has } from 'lodash';
+import { sortBy, orderBy, has } from 'lodash';
 import TableCell from '@material-ui/core/TableCell';
 import { withStyles } from '@material-ui/core/styles';
 
@@ -68,8 +68,12 @@ const ResultTableCell = props => {
       return '-';
     }
     else if (Array.isArray(cell)) {
-      cell = sortValues ? orderBy(cell, 'prefLabel') : cell;
-
+      if (props.columnId == 'timespan') {
+        cell = sortValues ? sortBy(cell, obj => Number(obj.start)) : cell;
+      } else {
+        cell = sortValues ? orderBy(cell, 'prefLabel') : cell;
+      }
+  
       const listItems = cell.map((item, i) =>
         <li key={i}>
           {makeLink &&
@@ -222,6 +226,7 @@ const ResultTableCell = props => {
 
 ResultTableCell.propTypes = {
   classes: PropTypes.object.isRequired,
+  columnId: PropTypes.string.isRequired,
   data: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]).isRequired,
   valueType: PropTypes.string.isRequired,
   makeLink: PropTypes.bool.isRequired,