Index: src/sas/qtgui/Perspectives/Fitting/ReportPageLogic.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/ReportPageLogic.py	(revision 30bc96eb9b4a9a99c1517c476d1793f47f2cd8ed)
+++ src/sas/qtgui/Perspectives/Fitting/ReportPageLogic.py	(revision 5330be22eefd3c4aece12add15737f928acbf2e8)
@@ -4,4 +4,6 @@
 import re
 import sys
+import tempfile
+
 import logging
 from io import BytesIO
@@ -9,9 +11,4 @@
 
 from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
-
-from sas.qtgui.Plotting.Plotter import Plotter
-from sas.qtgui.Plotting.Plotter2D import Plotter2D
-from sas.qtgui.Plotting.PlotterData import Data1D
-from sas.qtgui.Plotting.PlotterData import Data2D
 
 import sas.qtgui.Utilities.GuiUtils as GuiUtils
@@ -102,9 +99,27 @@
             canvas = FigureCanvas(fig)
             png_output = BytesIO()
-            canvas.print_png(png_output)
-            data = png_output.getvalue()
-            data64 = base64.b64encode(data)
+
+            # Create a "safe" location - system tmp
+            tmp_file = tempfile.TemporaryFile(suffix=".png")
+            try:
+                fig.savefig(tmp_file.name, dpi=75)
+                fig.savefig(png_output, dpi=75)
+            except PermissionError:
+                # sometimes one gets "permission denied" for temp files
+                # mainly on Windows 7 *gasp*. Let's try local directory
+                tmp_file = open("_tmp.png", "w+")
+                try:
+                    fig.savefig(tmp_file.name, dpi=75)
+                    fig.savefig(png_output, dpi=75)
+                except Exception as ex:
+                    logging.error("Creating of the report failed: %s"%str(ex))
+                    return
+
+            data_to_print = png_output.getvalue() == open(tmp_file.name, 'rb').read()
+            tmp_file.close()
+            data64 = base64.b64encode(png_output.getvalue())
             data_to_print = urllib.parse.quote(data64)
-            feet=FEET_2
+
+            feet = FEET_2
             if sys.platform == "darwin":  # Mac
                 feet = FEET_3
@@ -153,29 +168,18 @@
         if not modelname or self._index is None:
             return None
-        plots = GuiUtils.plotsFromModel(modelname, self._index)
-        # Call show on requested plots
-        # All same-type charts in one plot
-        for plot_set in plots:
-            if isinstance(plot_set, Data1D):
-                if 'residuals' in plot_set.title.lower():
-                    res_plot = Plotter(self, quickplot=True)
-                    res_plot.plot(plot_set)
-                    graphs.append(res_plot.figure)
-                    continue
-                if not 'new_plot' in locals():
-                    new_plot = Plotter(self, quickplot=True)
-                new_plot.plot(plot_set)
-            elif isinstance(plot_set, Data2D):
-                plot2D = Plotter2D(self, quickplot=True)
-                plot2D.item = self._index
-                plot2D.plot(plot_set)
-                graphs.append(plot2D.figure)
-
-            else:
-                msg = "Incorrect data type passed to Plotting"
-                raise AttributeError(msg)
-
-        if 'new_plot' in locals() and isinstance(new_plot.data, Data1D):
-            graphs.append(new_plot.figure)
+        plot_ids = [plot.id for plot in GuiUtils.plotsFromModel(modelname, self._index)]
+
+        # Active plots
+        import sas.qtgui.Plotting.PlotHelper as PlotHelper
+        shown_plot_names = PlotHelper.currentPlots()
+
+        # current_plots = list of graph names of currently shown plots
+        # which are related to this dataset
+        current_plots = [name for name in shown_plot_names if PlotHelper.plotById(name).data.id in plot_ids]
+
+        for name in current_plots:
+            # get the plotter object first
+            plotter = PlotHelper.plotById(name)
+            graphs.append(plotter.figure)
 
         return graphs
Index: src/sas/qtgui/Utilities/ReportDialog.py
===================================================================
--- src/sas/qtgui/Utilities/ReportDialog.py	(revision 30bc96eb9b4a9a99c1517c476d1793f47f2cd8ed)
+++ src/sas/qtgui/Utilities/ReportDialog.py	(revision 5330be22eefd3c4aece12add15737f928acbf2e8)
@@ -101,9 +101,9 @@
 
         # translate png references into html from base64 string to on-disk name
-        cleanr = re.compile('<img src="data:image.*>')
+        cleanr = re.compile('<img src.*$')
         replacement_name = ""
+        html = self.data_html
         for picture in pictures:
             replacement_name += '<img src="'+ picture + '"><p></p>'
-
         # <img src="data:image/png;.*>  => <img src=filename>
         html = re.sub(cleanr, replacement_name, self.data_html)
