diff --git a/content/media/AudioNodeExternalInputStream.cpp b/content/media/AudioNodeExternalInputStream.cpp
index daeaad7c7b2319c5d17318dec2dcf06dbebc5fd7..50c8cba32ae50a6428580eeb59cee00f76fb7b74 100644
--- a/content/media/AudioNodeExternalInputStream.cpp
+++ b/content/media/AudioNodeExternalInputStream.cpp
@@ -412,7 +412,7 @@ AudioNodeExternalInputStream::ProcessInput(GraphTime aFrom, GraphTime aTo,
                               std::min(inputTrackEndPoint, inputEndTicks));
         }
         // Pad if we're looking past the end of the track
-        segment.AppendNullData(std::max<TrackTicks>(0, inputEndTicks - inputTrackEndPoint));
+        segment.AppendNullData(ticks - segment.GetDuration());
       }
     }
 
diff --git a/content/media/test/crashtests/crashtests.list b/content/media/test/crashtests/crashtests.list
index 8768d6d3f441ad122fb9e5d289d3c7150b74f9a6..1a4ca130159928146a87fe7c4e80974b341a7cb0 100644
--- a/content/media/test/crashtests/crashtests.list
+++ b/content/media/test/crashtests/crashtests.list
@@ -65,6 +65,7 @@ load 933156.html
 load 952756.html
 load buffer-source-ended-1.html
 load offline-buffer-source-ended-1.html
+HTTP load media-element-source-seek-1.html
 skip-if(B2G) load oscillator-ended-1.html # intermittent B2G timeouts, bug 920338
 skip-if(B2G) load oscillator-ended-2.html # intermittent B2G timeouts, bug 920338
 test-pref(media.mediasource.enabled,true) load 926665.html
diff --git a/content/media/test/crashtests/media-element-source-seek-1.html b/content/media/test/crashtests/media-element-source-seek-1.html
new file mode 100644
index 0000000000000000000000000000000000000000..9564657236258940b378ac38392f9adb6e675707
--- /dev/null
+++ b/content/media/test/crashtests/media-element-source-seek-1.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<script>
+var audioElement = document.createElement("audio");
+audioElement.autoplay = true;
+audioElement.src = "sound.ogg";
+audioElement.onplaying =
+  function() {
+    audioElement.onseeked =
+      function() {
+        setTimeout(
+          function() {
+            document.documentElement.removeAttribute("class");
+          }, 100);
+      };
+    audioElement.currentTime = 0;
+  };
+
+var context = new window.AudioContext();
+var source = context.createMediaElementSource(audioElement);
+source.connect(context.destination);
+</script>
+</html>