diff --git a/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee b/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
index cfa2ef8..ca2b707 100644
--- a/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
+++ b/common/lib/xmodule/xmodule/js/src/combinedopenended/display.coffee
@@ -34,6 +34,7 @@ class @CombinedOpenEnded
     @child_type = @el.data('child-type')
     if @child_type=="openended"
       @reload_button = @$('.reload-button')
+      @skip_button = @$('.skip-button')
 
     @open_ended_child= @$('.open-ended-child')
 
@@ -52,6 +53,7 @@ class @CombinedOpenEnded
     @submit_button.show()
     @reset_button.hide()
     @next_problem_button.hide()
+    @skip_button.hide()
     @hint_area.attr('disabled', false)
     if @child_type=="openended"
       @reload_button.hide()
@@ -69,6 +71,7 @@ class @CombinedOpenEnded
     else if @child_state == 'post_assessment'
       if @child_type=="openended"
         @reload_button.hide()
+        @skip_button.show()
       @answer_area.attr("disabled", true)
       @submit_button.prop('value', 'Submit post-assessment')
       if @child_type=="selfassessment"
@@ -79,6 +82,7 @@ class @CombinedOpenEnded
       @answer_area.attr("disabled", true)
       @hint_area.attr('disabled', true)
       @submit_button.hide()
+      @skip_button.hide()
       if @task_number<@task_count
         @next_problem()
       else
diff --git a/common/lib/xmodule/xmodule/open_ended_module.py b/common/lib/xmodule/xmodule/open_ended_module.py
index c5cc019..e1a34d2 100644
--- a/common/lib/xmodule/xmodule/open_ended_module.py
+++ b/common/lib/xmodule/xmodule/open_ended_module.py
@@ -106,6 +106,10 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
 
         self.payload = {'grader_payload': updated_grader_payload}
 
+    def skip_post_assessment(self, get, system):
+        self.state=self.DONE
+        return {'success' : True}
+
     def message_post(self,get, system):
         """
         Handles a student message post (a reaction to the grade they received from an open ended grader type)
@@ -389,8 +393,8 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
         feedback_dict = self._parse_score_msg(self.history[-1].get('post_assessment', ""))
         if not short_feedback:
             return feedback_dict['feedback'] if feedback_dict['valid'] else ''
-
-        short_feedback = self._convert_longform_feedback_to_html(json.loads(self.history[-1].get('post_assessment', "")))
+        if feedback_dict['valid']:
+            short_feedback = self._convert_longform_feedback_to_html(json.loads(self.history[-1].get('post_assessment', "")))
         return short_feedback if feedback_dict['valid'] else ''
 
     def is_submission_correct(self, score):
@@ -414,6 +418,7 @@ class OpenEndedModule(openendedchild.OpenEndedChild):
             'save_answer': self.save_answer,
             'score_update': self.update_score,
             'save_post_assessment' : self.message_post,
+            'skip_post_assessment' : self.skip_post_assessment(),
             }
 
         if dispatch not in handlers:
diff --git a/lms/templates/open_ended.html b/lms/templates/open_ended.html
index 31599ec..1235014 100644
--- a/lms/templates/open_ended.html
+++ b/lms/templates/open_ended.html
@@ -28,7 +28,7 @@
   <div class="open-ended-alert"></div>
 
   <span id="answer_${id}"></span>
-
+  <input name="skip" class="skip-button" type="button" value="Skip Post-Assessment"/>
   <input name="reload" class="reload-button" type="button" value="Recheck for Feedback" onclick="document.location.reload(true);" />
   <div class="external-grader-message">
       ${msg|n}