diff --git a/client/views/grade/EditPanel.jsx b/client/views/grade/EditPanel.jsx
index 0dc9b3fc85e44acfa4c4a7d120704106ba9fc886..6802f2344455f0120cc678133c90c5bc9a29c709 100644
--- a/client/views/grade/EditPanel.jsx
+++ b/client/views/grade/EditPanel.jsx
@@ -54,7 +54,7 @@ class EditPanel extends React.Component {
         })
     }
     changeScore = (event) => {
-        const patt = new RegExp(/^([1-9]\d*|0)?$/);
+        const patt = new RegExp(/^(-|(-?[1-9]\d*)|0)?$/);
 
         if (patt.test(event.target.value)) {
             this.setState({
@@ -137,7 +137,8 @@ class EditPanel extends React.Component {
 
                 <div className="panel-block">
                     <BackButton onClick={this.props.toggleEdit} />
-                    <SaveButton onClick={this.saveFeedback} disabled={!this.state.name} exists={this.props.feedback} />
+                    <SaveButton onClick={this.saveFeedback} exists={this.props.feedback}
+                        disabled={ !this.state.name || (this.state.score && isNaN(parseInt(this.state.score))) } />
                 </div>
             </nav>
         )