Index: trunk/FACT++/src/fitsdump.cc
===================================================================
--- trunk/FACT++/src/fitsdump.cc	(revision 17147)
+++ trunk/FACT++/src/fitsdump.cc	(revision 17166)
@@ -764,5 +764,7 @@
 
         avg /= num;
-        rms  = sqrt(rms/num - avg*avg);
+        rms /= num;
+        rms += avg*avg;
+        rms  = rms<0 ? 0 : sqrt(rms);
 
         fout << "Min: " << statsIt->min << '\n';
@@ -805,9 +807,11 @@
 
     avg /= numElems;
-    rms  = sqrt(rms/numElems - avg*avg);
+    rms /= numElems;
+    rms -= avg*avg;
+    rms  = rms<0 ? 0 : sqrt(rms);
+
 
     out << "Avg: " << avg << '\n';
     out << "Rms: " << rms << endl;
-
 }
 
@@ -823,10 +827,14 @@
     vector<vector<char>> statData;
 
-    const size_t num = limit==0 || GetNumRows()<limit ? GetNumRows() : limit;
+    const size_t rows = limit==0 || GetNumRows()<limit ? GetNumRows() : limit;
 
     for (auto it=cols.begin(); it!=cols.end(); it++)
-        statData.emplace_back(vector<char>(it->col.size*num*(it->last-it->first+1)));
-
-#ifdef HAVE_ROOT
+        statData.emplace_back(vector<char>(it->col.size*rows*(it->last-it->first+1)));
+
+#ifdef HAVE_ROOT
+    size_t num = 0;
+    for (auto it=cols.begin(); it!=cols.end(); it++)
+        num += it->last-it->first+1;
+
     vector<Double_t> data(num+1);
 #endif
@@ -1099,6 +1107,6 @@
         ("%,%",         vars<string>(),         "Format for the output (currently not available in root-mode)")
         ("force",       po_switch(),            "Force reading the fits file even if END key is missing")
-        ("first",       var<size_t>(0),         "First number of row to read")
-        ("limit",       var<size_t>(0),         "Limit for the maximum number of rows to read (0=unlimited)")
+        ("first",       var<size_t>(size_t(0)), "First number of row to read")
+        ("limit",       var<size_t>(size_t(0)), "Limit for the maximum number of rows to read (0=unlimited)")
         ("tablename,t", var<string>(""),        "Name of the table to open. If not specified, first binary table is opened")
 #ifdef HAVE_ROOT
