diff --git a/fsl/__init__.py b/fsl/__init__.py
index 790be29422ef1af2b4dcada525dd11ca6022e4da..1beef9641180425dfe6b01868a6351be45a5f506 100644
--- a/fsl/__init__.py
+++ b/fsl/__init__.py
@@ -263,8 +263,9 @@ def parseArgs(argv, allTools):
         if namespace.memory:
             class MemFilter(object):
                 def filter(self, record):
-                    if record.levelno == logging.MEMORY: return 1
-                    else:                                return 0
+                    if   record.name in namespace.noisy:   return 1
+                    elif record.levelno == logging.MEMORY: return 1
+                    else:                                  return 0
 
             log.setLevel(logging.MEMORY)
             log.handlers[0].addFilter(MemFilter())
diff --git a/fsl/fslview/displaycontext/displaycontext.py b/fsl/fslview/displaycontext/displaycontext.py
index 0fab40e11d9fe508bfa8b17f734db56c1be834d5..03e6aac7a004cf5651fb53993ebf8dd6cb86235d 100644
--- a/fsl/fslview/displaycontext/displaycontext.py
+++ b/fsl/fslview/displaycontext/displaycontext.py
@@ -87,6 +87,14 @@ class DisplayContext(props.SyncableHasProperties):
                                 self.__name,
                                 self.__overlayListChanged)
 
+
+        log.memory('{}.init ({})'.format(type(self).__name__, id(self)))
+
+        
+    def __del__(self):
+        log.memory('{}.del ({})'.format(type(self).__name__, id(self)))
+        
+
         
     def getDisplay(self, overlay, overlayType=None):
         """Returns the display property object (e.g. a :class:`.Display`
diff --git a/fsl/fslview/views/plotpanel.py b/fsl/fslview/views/plotpanel.py
index be4defaeedba06a07d89d491f035e7c4127d2cbe..3aed21cde32eb3444daa0920d77c59e063964909 100644
--- a/fsl/fslview/views/plotpanel.py
+++ b/fsl/fslview/views/plotpanel.py
@@ -48,6 +48,10 @@ class DataSeries(props.HasProperties):
         self.overlay = overlay
 
 
+    def __copy__(self):
+        return type(self)(self.overlay)
+
+
     def getData(self):
         raise NotImplementedError('The getData method must be '
                                   'implemented by subclasses')
diff --git a/fsl/fslview/views/timeseriespanel.py b/fsl/fslview/views/timeseriespanel.py
index 26c7d18d726855e9dd641dc52bbebd8fc40a4474..946b98a5f7d941badc3ddda8e180caf8968dd4da 100644
--- a/fsl/fslview/views/timeseriespanel.py
+++ b/fsl/fslview/views/timeseriespanel.py
@@ -41,6 +41,11 @@ class TimeSeries(plotpanel.DataSeries):
         self.coords  = map(int, coords)
         self.data    = overlay.data[coords[0], coords[1], coords[2], :]
 
+
+    def __copy__(self):
+
+        return type(self)(self.tsPanel, self.overlay, self.coords)
+
         
     def update(self, coords):
         """This method is only intended for use on the 'current' time series,