--- status.cpp.old 2007-04-13 13:53:59.000000000 +0200 +++ status.cpp 2007-04-13 14:06:06.000000000 +0200 @@ -207,12 +207,14 @@ unsigned long Status::calcAverage() if( m_average_values.size() == 0 ) return 0; unsigned long sum = 0; - for( list::const_iterator i = m_average_values.begin(); i != m_average_values.end(); i++ ) + int num=0; + for( list::const_iterator i = m_average_values.begin(); i != m_average_values.end() && sum+(*i) >= sum; i++ ) { sum += (*i); + num++; } - - return sum / m_average_values.size(); + + return sum / num; } int Status::averageSmoothness()