diff --git a/app/assets/javascripts/components/components/button.jsx b/app/assets/javascripts/components/components/button.jsx
index c3e1840246a872c099af3a4e7483cbbf23cda065..6c3da10fe1034486ec78ab0852ba4808f1480e1f 100644
--- a/app/assets/javascripts/components/components/button.jsx
+++ b/app/assets/javascripts/components/components/button.jsx
@@ -44,7 +44,10 @@ const Button = React.createClass({
       cursor: 'pointer',
       lineHeight: `${this.props.size}px`,
       borderRadius: '4px',
-      textDecoration: 'none'
+      textDecoration: 'none',
+      whiteSpace: 'nowrap',
+      textOverflow: 'ellipsis',
+      overflow: 'hidden'
     };
 
     return (
diff --git a/app/assets/javascripts/components/features/compose/components/compose_form.jsx b/app/assets/javascripts/components/features/compose/components/compose_form.jsx
index fad77c8e9d69522106f2a455f2b3da0a177b22d7..805aad3d52dd69f44e3a7d1f745b91090ec5209d 100644
--- a/app/assets/javascripts/components/features/compose/components/compose_form.jsx
+++ b/app/assets/javascripts/components/features/compose/components/compose_form.jsx
@@ -197,9 +197,9 @@ const ComposeForm = React.createClass({
             <SpoilerButtonContainer />
           </div>
 
-          <div style={{ display: 'flex' }}>
+          <div style={{ display: 'flex', minWidth: 0 }}>
             <div style={{ paddingTop: '10px', marginRight: '16px', lineHeight: '36px' }}><CharacterCounter max={500} text={text} /></div>
-            <div style={{ paddingTop: '10px' }}><Button text={publishText} onClick={this.handleSubmit} disabled={disabled || text.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "_").length > 500} /></div>
+            <div style={{ paddingTop: '10px', overflow: 'hidden' }}><Button text={publishText} onClick={this.handleSubmit} disabled={disabled || text.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, "_").length > 500} block /></div>
           </div>
         </div>
       </div>