diff --git a/pyglance/glance/data.py b/pyglance/glance/data.py
index 233a55c43b6054710bb5402c2d809dcc7702d9c7..f07d9dddd5fc306b6361e0bd128c53adc4fd7ed6 100644
--- a/pyglance/glance/data.py
+++ b/pyglance/glance/data.py
@@ -160,6 +160,23 @@ class DataObject (object) :
         
         return DataObject(self.data.copy(), fillValue=self.fill_value, ignoreMask=self.masks.ignore_mask,
                  overrideFillValue=self.override_fill_value, defaultFillValue=self.default_fill_value)
+
+    def holding_array(self):
+        """
+        Return a version of myself where self.data is always an array.
+
+        Suitable for code paths that insist on an array. 
+
+        If self.data is already an array, returns self.
+        If self.data is a simple scalar, copies myself, changing the copy's
+        self.data to be an array with a single value, and return the copy.
+        """
+        if len(self.data.shape) != 0:
+            return self
+        copy = self.copy()
+        copy.data = np.array([self.data.item()])
+        copy.self_analysis()
+        return copy
     
     def self_analysis(self, re_do_analysis=False) :
         """
diff --git a/pyglance/glance/stats.py b/pyglance/glance/stats.py
index d1b5a845e7db2235c7f1988f800495b57369b442..b84b19666b4ca802ee2e78f2a1215f9313840d03 100644
--- a/pyglance/glance/stats.py
+++ b/pyglance/glance/stats.py
@@ -1064,6 +1064,8 @@ class StatisticalInspectionAnalysis (StatisticalData) :
         """
         build and set all of the statistics sets
         """
+
+        dataObject = dataObject.holding_array()
         
         self.general      = GeneralStatistics(     dataObject=dataObject,
                                                            doExtras=True)