Index: fipy/viewers/matplotlibViewer/matplotlib2DViewer.py
===================================================================
--- fipy/viewers/matplotlibViewer/matplotlib2DViewer.py	(revision 2668)
+++ fipy/viewers/matplotlibViewer/matplotlib2DViewer.py	(working copy)
@@ -109,7 +109,11 @@
         from matplotlib.collections import PolyCollection
         self.collection = PolyCollection(polys)
         self.collection.set_linewidth(0)
-        ax.add_patch(self.collection)
+        try:
+            ax.add_patch(self.collection)
+        except:
+            # PolyCollection not child of PatchCollection in matplotlib 0.98
+            ax.add_collection(self.collection)
 
         if self._getLimit('xmin') is None:
             xmin = xCoords.min()
Index: fipy/variables/faceVariable.py
===================================================================
--- fipy/variables/faceVariable.py	(revision 2668)
+++ fipy/variables/faceVariable.py	(working copy)
@@ -59,6 +59,11 @@
             
         return _MeshVariable._getArithmeticBaseClass(self, other)
 
+    def copy(self):
+        return self.__class__(mesh = self.mesh, 
+                              name = self.name + "_copy", 
+                              value = self.getValue())
+
     def getDivergence(self):
         """
             >>> from fipy.meshes.grid2D import Grid2D
