Index: src/sas/sasgui/perspectives/file_converter/converter_panel.py
===================================================================
--- src/sas/sasgui/perspectives/file_converter/converter_panel.py	(revision b7c21a7ddf745993873a2b28e2b3fe37d75cb427)
+++ src/sas/sasgui/perspectives/file_converter/converter_panel.py	(revision 9c500abe9246096e5ca8d5ad02f5ed747efb0570)
@@ -186,7 +186,7 @@
         loader = OTOKOLoader(self.q_input.GetPath(),
             self.iq_input.GetPath())
-        bsl_data = loader.load_bsl_data()
-        qdata = bsl_data.q_axis.data
-        iqdata = bsl_data.data_axis.data
+        otoko_data = loader.load_otoko_data()
+        qdata = otoko_data.q_axis.data
+        iqdata = otoko_data.data_axis.data
         if len(qdata) > 1:
             msg = ("Q-Axis file has multiple frames. Only 1 frame is "
@@ -212,7 +212,32 @@
         loader = BSLLoader(filename)
         frames = [0]
+        should_continue = True
+
         if loader.n_frames > 1:
             params = self.ask_frame_range(loader.n_frames)
             frames = params['frames']
+        elif loader.n_rasters == 1 and loader.n_frames == 1:
+            message = ("The selected file is an OTOKO file. Please select the "
+            "'OTOKO 1D' option if you wish to convert it.")
+            dlg = wx.MessageDialog(self,
+            message,
+            'Error!',
+            wx.OK | wx.ICON_WARNING)
+            dlg.ShowModal()
+            should_continue = False
+            dlg.Destroy()
+        else:
+            message = ("The selected data file only has 1 frame, it might be"
+                " a multi-frame OTOKO file.\nContinue conversion?")
+            dlg = wx.MessageDialog(self,
+            message,
+            'Warning!',
+            wx.YES_NO | wx.ICON_WARNING)
+            should_continue = (dlg.ShowModal() == wx.ID_YES)
+            dlg.Destroy()
+
+        if not should_continue:
+            return None, None, None
+
         frame_data = {}
 
@@ -294,4 +319,9 @@
                     self.iq_input.GetPath())
 
+                if x_data == None and y_data == None and frame_data == None:
+                    wx.PostEvent(self.parent.manager.parent,
+                        StatusEvent(status="Conversion cancelled."))
+                    return
+
                 file_path = self.output.GetPath()
                 self.convert_to_red2d(file_path, x_data, y_data, frame_data)
@@ -342,5 +372,4 @@
             'source': self.source
         }
-        import pdb; pdb.set_trace()
 
         frame_data = {}
Index: src/sas/sasgui/perspectives/file_converter/otoko_loader.py
===================================================================
--- src/sas/sasgui/perspectives/file_converter/otoko_loader.py	(revision ba65aff97e4c9511e2e199a78137312a6adc403d)
+++ src/sas/sasgui/perspectives/file_converter/otoko_loader.py	(revision 9c500abe9246096e5ca8d5ad02f5ed747efb0570)
@@ -1,5 +1,5 @@
 """
 Here we handle loading of "OTOKO" data (for more info about this format see
-the comment in load_bsl_data).  Given the paths of header and data files, we
+the comment in load_otoko_data).  Given the paths of header and data files, we
 aim to load the data into numpy arrays for use later.
 """
@@ -29,5 +29,5 @@
         self.data_path = data_path
 
-    def load_bsl_data(self):
+    def load_otoko_data(self):
         """
         Loads "OTOKO" data, which is a format that stores each axis separately.
@@ -42,15 +42,11 @@
         http://www.diamond.ac.uk/Home/Beamlines/small-angle/SAXS-Software/CCP13/
         XOTOKO.html
-
-        The BSL format, which is based on OTOKO, is also supported.  Find out more
-        about the BSL format at http://www.diamond.ac.uk/Home/Beamlines/small-angle
-        /SAXS-Software/CCP13/BSL.html.
         """
-        q_axis    = self._load_bsl_axis(self.qaxis_path)
-        data_axis = self._load_bsl_axis(self.data_path)
+        q_axis    = self._load_otoko_axis(self.qaxis_path)
+        data_axis = self._load_otoko_axis(self.data_path)
 
         return OTOKOData(q_axis, data_axis)
 
-    def _load_bsl_axis(self, header_path):
+    def _load_otoko_axis(self, header_path):
         """
         Loads an "OTOKO" axis, given the header file path.  Essentially, the
@@ -107,4 +103,9 @@
                     last_file  = int(indicators[9]) == 0 # We don't use this.
                 )
+                if binary_file_info.dimensions != 1:
+                    msg = "File {} has {} dimensions, expected 1. Is it a BSL file?"
+                    raise OTOKOParsingError(msg.format(filename.strip(),
+                        binary_file_info.dimensions))
+
                 binary_file_info_list.append(binary_file_info)
 
