diff --git a/Framework/PythonInterface/mantid/plots/plotfunctions.py b/Framework/PythonInterface/mantid/plots/plotfunctions.py
index 5b0d79807d643264e1ccfa9eb9c04759b3ea37c1..0a2e1eddd46ba1673ef396714259c45b9af7bfd6 100644
--- a/Framework/PythonInterface/mantid/plots/plotfunctions.py
+++ b/Framework/PythonInterface/mantid/plots/plotfunctions.py
@@ -211,7 +211,13 @@ def errorbar(axes, workspace, *args, **kwargs):
     """
     x, y, dy, dx, indices, kwargs = _get_data_for_plot(axes, workspace, kwargs,
                                                        with_dy=True, with_dx=False)
-    _setLabels1D(axes, workspace, indices)
+    try:
+        plot_as_distribution = (on_off_to_bool(config['graph1d.autodistribution']) and
+                                not workspace.isDistribution())
+    except AttributeError:
+        plot_as_distribution = on_off_to_bool(config['graph1d.autodistribution'])
+
+    _setLabels1D(axes, workspace, indices, plot_as_dist=plot_as_distribution)
     return axes.errorbar(x, y, dy, dx, *args, **kwargs)
 
 
diff --git a/qt/python/mantidqt/plotting/test/test_functions.py b/qt/python/mantidqt/plotting/test/test_functions.py
index e908584db79d98e1a0f184a966124b4315b6ea43..e6798129787fd812d485f8736cf660dc49c96f58 100644
--- a/qt/python/mantidqt/plotting/test/test_functions.py
+++ b/qt/python/mantidqt/plotting/test/test_functions.py
@@ -22,6 +22,7 @@ import numpy as np
 # register mantid projection
 import mantid.plots  # noqa
 from mantid.api import AnalysisDataService, WorkspaceFactory
+from mantid.kernel import config
 from mantid.plots import MantidAxes
 from mantid.py3compat import mock
 from mantidqt.dialogs.spectraselectordialog import SpectraSelection
@@ -209,6 +210,14 @@ class FunctionsTest(TestCase):
         self.assertEqual(len(mantid_ax.lines), 2)
         self.assertIsInstance(mantid_ax, MantidAxes)
 
+    def test_that_plot_spectrum_has_same_y_label_with_and_without_errorbars(self):
+        config['graph1d.autodistribution'] = 'Off'
+        self._compare_errorbar_labels_and_title()
+
+    def test_that_plot_spectrum_has_same_y_label_with_and_without_errorbars_plot_as_dist(self):
+        config['graph1d.autodistribution'] = 'On'
+        self._compare_errorbar_labels_and_title()
+
     # ------------- Failure tests -------------
 
     def test_plot_from_names_with_non_plottable_workspaces_returns_None(self):
@@ -251,6 +260,21 @@ class FunctionsTest(TestCase):
                                 msg="Label fragment '{}' not found in line label".format(label_part))
         return fig
 
+    def _compare_errorbar_labels_and_title(self):
+        ws = self._test_ws
+        ws.setYUnitLabel("MyLabel")
+        ws.getAxis(0).setUnit("TOF")
+        for distribution_ws in [True, False]:
+            ws.setDistribution(distribution_ws)
+            ax = plot([ws], wksp_indices=[1]).get_axes()[0]
+            err_ax = plot([ws], wksp_indices=[1], errors=True).get_axes()[0]
+            # Compare y-labels
+            self.assertEqual(ax.get_ylabel(), err_ax.get_ylabel())
+            # Compare x-labels
+            self.assertEqual(ax.get_xlabel(), err_ax.get_xlabel())
+            # Compare title
+            self.assertEqual(ax.get_title(), err_ax.get_title())
+
 
 if __name__ == '__main__':
     main()