diff --git a/common/lib/xmodule/xmodule/js/fixtures/problem-with-markdown.html b/common/lib/xmodule/xmodule/js/fixtures/problem-with-markdown.html
new file mode 100644
index 0000000000..be4fcd5ecc
--- /dev/null
+++ b/common/lib/xmodule/xmodule/js/fixtures/problem-with-markdown.html
@@ -0,0 +1,6 @@
+
\ No newline at end of file
diff --git a/common/lib/xmodule/xmodule/js/fixtures/problem-without-markdown.html b/common/lib/xmodule/xmodule/js/fixtures/problem-without-markdown.html
new file mode 100644
index 0000000000..06225e99b6
--- /dev/null
+++ b/common/lib/xmodule/xmodule/js/fixtures/problem-without-markdown.html
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee b/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee
index 3289c5fe7d..01a129e284 100644
--- a/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee
+++ b/common/lib/xmodule/xmodule/js/spec/problem/edit_spec.coffee
@@ -1,4 +1,24 @@
describe 'MarkdownEditingDescriptor', ->
+ describe 'save stores the correct data', ->
+ it 'saves markdown from markdown editor', ->
+ loadFixtures 'problem-with-markdown.html'
+ @descriptor = new MarkdownEditingDescriptor($('.problem-editor'))
+ saveResult = @descriptor.save()
+ expect(saveResult.metadata.markdown).toEqual('markdown')
+ expect(saveResult.data).toEqual('\nmarkdown
\n')
+ it 'clears markdown when xml editor is selected', ->
+ loadFixtures 'problem-with-markdown.html'
+ @descriptor = new MarkdownEditingDescriptor($('.problem-editor'))
+ @descriptor.createXMLEditor('replace with markdown')
+ saveResult = @descriptor.save()
+ expect(saveResult.metadata.markdown).toEqual(null)
+ expect(saveResult.data).toEqual('replace with markdown')
+ it 'saves xml from the xml editor', ->
+ loadFixtures 'problem-without-markdown.html'
+ @descriptor = new MarkdownEditingDescriptor($('.problem-editor'))
+ saveResult = @descriptor.save()
+ expect(saveResult.metadata.markdown).toEqual(null)
+ expect(saveResult.data).toEqual('xml only')
describe 'insertMultipleChoice', ->
it 'inserts the template if selection is empty', ->