diff --git a/src/components/views/rooms/PresenceLabel.js b/src/components/views/rooms/PresenceLabel.js
index 69ba7c39c3..b6e171100b 100644
--- a/src/components/views/rooms/PresenceLabel.js
+++ b/src/components/views/rooms/PresenceLabel.js
@@ -44,6 +44,8 @@ module.exports = React.createClass({
         };
     },
 
+    // Return duration as a string using appropriate time units
+    // XXX: This would be better handled using a culture-aware library, but we don't use one yet.
     getDuration: function(time) {
         if (!time) return;
         const t = parseInt(time / 1000);
@@ -53,41 +55,39 @@ module.exports = React.createClass({
         const d = parseInt(t / (60 * 60 * 24));
         if (t < 60) {
             if (t < 0) {
-                return _t("for %(amount)ss", {amount: 0});
+                return _t("%(duration)ss", {duration: 0});
             }
-            return _t("for %(amount)ss", {amount: s});
+            return _t("%(duration)ss", {duration: s});
         }
         if (t < 60 * 60) {
-            return _t("for %(amount)sm", {amount: m});
+            return _t("%(duration)sm", {duration: m});
         }
         if (t < 24 * 60 * 60) {
-            return _t("for %(amount)sh", {amount: h});
+            return _t("%(duration)sh", {duration: h});
         }
-        return _t("for %(amount)sd", {amount: d});
+        return _t("%(duration)sd", {duration: d});
     },
 
-    getPrettyPresence: function(presence) {
-        if (presence === "online") return _t("Online");
-        if (presence === "unavailable") return _t("Idle"); // XXX: is this actually right?
-        if (presence === "offline") return _t("Offline");
-        return _t("Unknown");
+    getPrettyPresence: function(presence, activeAgo, currentlyActive) {
+        if (!currentlyActive && activeAgo !== undefined && activeAgo > 0) {
+            const duration = this.getDuration(activeAgo);
+            if (presence === "online") return _t("Online for %(duration)s", { duration: duration });
+            if (presence === "unavailable") return _t("Idle for %(duration)s", { duration: duration }); // XXX: is this actually right?
+            if (presence === "offline") return _t("Offline for %(duration)s", { duration: duration });
+            return _t("Unknown for %(duration)s", { duration: duration });
+        } else {
+            if (presence === "online") return _t("Online");
+            if (presence === "unavailable") return _t("Idle"); // XXX: is this actually right?
+            if (presence === "offline") return _t("Offline");
+            return _t("Unknown");
+        }
     },
 
     render: function() {
-        if (this.props.activeAgo >= 0) {
-            const duration = this.getDuration(this.props.activeAgo);
-            const ago = this.props.currentlyActive || !duration ? "" : duration;
-            return (
-                
-                    { this.getPrettyPresence(this.props.presenceState) } { ago }
-                
-            );
-        } else {
-            return (
-                
-                    { this.getPrettyPresence(this.props.presenceState) }
-                
-            );
-        }
+        return (
+            
+                { this.getPrettyPresence(this.props.presenceState, this.props.activeAgo, this.props.currentlyActive) }
+            
+        );
     },
 });
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index 128a07bc15..93030269ad 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -227,8 +227,6 @@
     "Delete": "Delete",
     "Disable Notifications": "Disable Notifications",
     "Enable Notifications": "Enable Notifications",
-    "URL previews are enabled by default for participants in this room.": "URL previews are enabled by default for participants in this room.",
-    "URL previews are disabled by default for participants in this room.": "URL previews are disabled by default for participants in this room.",
     "Cannot add any more widgets": "Cannot add any more widgets",
     "The maximum permitted number of widgets have already been added to this room.": "The maximum permitted number of widgets have already been added to this room.",
     "Add a widget": "Add a widget",
@@ -321,10 +319,14 @@
     "No pinned messages.": "No pinned messages.",
     "Loading...": "Loading...",
     "Pinned Messages": "Pinned Messages",
-    "for %(amount)ss": "for %(amount)ss",
-    "for %(amount)sm": "for %(amount)sm",
-    "for %(amount)sh": "for %(amount)sh",
-    "for %(amount)sd": "for %(amount)sd",
+    "%(duration)ss": "%(duration)ss",
+    "%(duration)sm": "%(duration)sm",
+    "%(duration)sh": "%(duration)sh",
+    "%(duration)sd": "%(duration)sd",
+    "Online for %(duration)s": "Online for %(duration)s",
+    "Idle for %(duration)s": "Idle for %(duration)s",
+    "Offline for %(duration)s": "Offline for %(duration)s",
+    "Unknown for %(duration)s": "Unknown for %(duration)s",
     "Online": "Online",
     "Idle": "Idle",
     "Offline": "Offline",
@@ -456,6 +458,8 @@
     "New community ID (e.g. +foo:%(localDomain)s)": "New community ID (e.g. +foo:%(localDomain)s)",
     "You have enabled URL previews by default.": "You have enabled URL previews by default.",
     "You have disabled URL previews by default.": "You have disabled URL previews by default.",
+    "URL previews are enabled by default for participants in this room.": "URL previews are enabled by default for participants in this room.",
+    "URL previews are disabled by default for participants in this room.": "URL previews are disabled by default for participants in this room.",
     "URL Previews": "URL Previews",
     "Error decrypting audio": "Error decrypting audio",
     "Error decrypting attachment": "Error decrypting attachment",