diff --git a/MagickCore/coder.c b/MagickCore/coder.c
index d5f6ac7..6219af7 100644
--- a/MagickCore/coder.c
+++ b/MagickCore/coder.c
@@ -155,6 +155,7 @@
     { "J2K", "JP2" },
     { "JPE", "JPEG" },
     { "JPG", "JPEG" },
+    { "JPS", "JPEG" },
     { "JPX", "JP2" },
     { "K", "RAW" },
     { "LOGO", "MAGICK" },
diff --git a/coders/jpeg.c b/coders/jpeg.c
index b88768d..5fe99d6 100644
--- a/coders/jpeg.c
+++ b/coders/jpeg.c
@@ -1564,6 +1564,21 @@
   entry->mime_type=ConstantString("image/jpeg");
   entry->module=ConstantString("JPEG");
   (void) RegisterMagickInfo(entry);
+  entry=SetMagickInfo("JPS");
+#if (JPEG_LIB_VERSION < 80) && !defined(LIBJPEG_TURBO_VERSION)
+  entry->thread_support=NoThreadSupport;
+#endif
+#if defined(MAGICKCORE_JPEG_DELEGATE)
+  entry->decoder=(DecodeImageHandler *) ReadJPEGImage;
+  entry->encoder=(EncodeImageHandler *) WriteJPEGImage;
+#endif
+  entry->adjoin=MagickFalse;
+  entry->description=ConstantString(description);
+  if (*version != '\0')
+    entry->version=ConstantString(version);
+  entry->mime_type=ConstantString("image/jpeg");
+  entry->module=ConstantString("JPEG Stereoscopic");
+  (void) RegisterMagickInfo(entry);
   entry=SetMagickInfo("PJPEG");
 #if (JPEG_LIB_VERSION < 80) && !defined(LIBJPEG_TURBO_VERSION)
   entry->thread_support=NoThreadSupport;
@@ -1605,8 +1620,9 @@
 ModuleExport void UnregisterJPEGImage(void)
 {
   (void) UnregisterMagickInfo("PJPG");
-  (void) UnregisterMagickInfo("JPEG");
+  (void) UnregisterMagickInfo("JPS");
   (void) UnregisterMagickInfo("JPG");
+  (void) UnregisterMagickInfo("JPEG");
   (void) UnregisterMagickInfo("JPE");
 }
 
@@ -2141,6 +2157,9 @@
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
+  if ((LocaleCompare(image_info->magick,"JPS") == 0) &&
+      (image->next != (Image *) NULL))
+    image=AppendImages(image,MagickFalse,exception);
   /*
     Initialize JPEG parameters.
   */
