diff --git a/lms/djangoapps/open_ended_grading/views.py b/lms/djangoapps/open_ended_grading/views.py
index 137cff7803604fb503b46ebc7a90c9459acb11b0..a0ef8239f3a78d38b38885c8ca9aa667d3d40d88 100644
--- a/lms/djangoapps/open_ended_grading/views.py
+++ b/lms/djangoapps/open_ended_grading/views.py
@@ -226,7 +226,7 @@ def flagged_problem_list(request, course_id):
         error_text = "Could not get problem list"
         success = False
 
-    ajax_url = _reverse_with_slash('open_ended_problems', course_id)
+    ajax_url = _reverse_with_slash('open_ended_flagged_problems', course_id)
 
     return render_to_response('open_ended_problems/open_ended_flagged_problems.html', {
         'course': course,
@@ -308,7 +308,6 @@ def take_action_on_flags(request, course_id):
     student_id = p['student_id']
 
     try:
-        controller_qs = ControllerQueryService()
         response = controller_qs.take_action_on_flags(course_id, student_id, submission_id, action_type)
         return HttpResponse(response, mimetype="application/json")
     except GradingServiceError:
diff --git a/lms/static/coffee/src/open_ended/open_ended.coffee b/lms/static/coffee/src/open_ended/open_ended.coffee
index 5c0f455ce799a58dcf0d301664b85b37f85c04ee..07b84c8af5eab2aa2785881ca0559195458772c1 100644
--- a/lms/static/coffee/src/open_ended/open_ended.coffee
+++ b/lms/static/coffee/src/open_ended/open_ended.coffee
@@ -24,13 +24,22 @@ class OpenEnded
 
   ban: (event) =>
     event.preventDefault()
-    @gentle_alert "Ban"
+    parent_tr = $(event.target).parent().parent()
+    tr_children = parent_tr.children()
+    action_type = "ban"
+    submission_id = tr_children[4].innerText
+    student_id = tr_children[5].innerText
+    @gentle_alert student_id
+    @post('take_action_on_flags', {'submission_id' : submission_id, 'student_id' : student_id, 'action_type' : action_type}, @handle_after_action)
 
   post: (cmd, data, callback) ->
       # if this post request fails, the error callback will catch it
       $.post(@ajax_url + cmd, data, callback)
         .error => callback({success: false, error: "Error occured while performing this operation"})
 
+  handle_after_action: (data) ->
+    @gentle_alert data
+
   gentle_alert: (msg) =>
     if $('.message-container').length
       $('.message-container').remove()
diff --git a/lms/urls.py b/lms/urls.py
index 260f55dd05b1e0030b8c759389800378820cf3fa..e4494e01666393890167cbd7e487a97af44c8a08 100644
--- a/lms/urls.py
+++ b/lms/urls.py
@@ -289,7 +289,7 @@ if settings.COURSEWARE_ENABLED:
         # Open Ended flagged problem list
         url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/open_ended_flagged_problems$',
             'open_ended_grading.views.flagged_problem_list', name='open_ended_flagged_problems'),
-        url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/open_ended_flagged_problems/take_action_on_flag$',
+        url(r'^courses/(?P<course_id>[^/]+/[^/]+/[^/]+)/open_ended_flagged_problems/take_action_on_flags$',
             'open_ended_grading.views.take_action_on_flags', name='open_ended_flagged_problems_take_action'),
 		
 		# Cohorts management