diff --git a/app/assets/javascripts/discourse/widgets/post.js.es6 b/app/assets/javascripts/discourse/widgets/post.js.es6
index c55a6f855..7396c4add 100644
--- a/app/assets/javascripts/discourse/widgets/post.js.es6
+++ b/app/assets/javascripts/discourse/widgets/post.js.es6
@@ -224,8 +224,12 @@ createWidget('expand-post-button', {
 createWidget('post-contents', {
   buildKey: attrs => `post-contents-${attrs.id}`,
 
+  defaultState() {
+    return { expandedFirstPost: false, repliesBelow: [] };
+  },
+
   buildClasses(attrs) {
-    const classes = [];
+    const classes = ['regular'];
     if (!this.state.repliesShown) {
       classes.push('contents');
     }
@@ -235,43 +239,23 @@ createWidget('post-contents', {
     return classes;
   },
 
-  html(attrs) {
-    return new PostCooked(attrs);
-  }
-});
-
-createWidget('post-body', {
-  tagName: 'div.topic-body',
-  buildKey: attrs => `topic-body-${attrs.id}`,
-
-  defaultState() {
-    return { expandedFirstPost: false, repliesBelow: [] };
-  },
-
   html(attrs, state) {
-    const extraState = { state: { repliesShown: !!state.repliesBelow.length } };
-    const regular = [this.attach('post-contents', attrs, extraState)];
+    const result = [new PostCooked(attrs)];
 
     if (attrs.cooked_hidden) {
-      regular.push(this.attach('expand-hidden', attrs));
+      result.push(this.attach('expand-hidden', attrs));
     }
 
     if (!state.expandedFirstPost && attrs.expandablePost) {
-      regular.push(this.attach('expand-post-button', attrs));
+      result.push(this.attach('expand-post-button', attrs));
     }
 
-    regular.push(this.attach('post-menu', attrs, extraState));
+    const extraState = { state: { repliesShown: !!state.repliesBelow.length } };
+    result.push(this.attach('post-menu', attrs, extraState));
 
     const repliesBelow = state.repliesBelow;
     if (repliesBelow.length) {
-      regular.push(h('section.embedded-posts.bottom',
-                   repliesBelow.map(p => this.attach('embedded-post', p))));
-    }
-
-    const result = [this.attach('post-meta-data', attrs), h('div.regular', regular)];
-    result.push(this.attach('actions-summary', attrs));
-    if (attrs.showTopicMap) {
-      result.push(this.attach('topic-map', attrs));
+      result.push(h('section.embedded-posts.bottom', repliesBelow.map(p => this.attach('embedded-post', p))));
     }
 
     return result;
@@ -294,6 +278,22 @@ createWidget('post-body', {
   }
 });
 
+createWidget('post-body', {
+  tagName: 'div.topic-body',
+
+  html(attrs) {
+    const postContents = this.attach('post-contents', attrs);
+    const result = [this.attach('post-meta-data', attrs), postContents];
+
+    result.push(this.attach('actions-summary', attrs));
+    if (attrs.showTopicMap) {
+      result.push(this.attach('topic-map', attrs));
+    }
+
+    return result;
+  }
+});
+
 createWidget('post-article', {
   tagName: 'article.boxed.onscreen-post',
   buildKey: attrs => `post-article-${attrs.id}`,