diff --git a/Core/Tools/inc/MaskedOutputDataIterator.h b/Core/Tools/inc/MaskedOutputDataIterator.h
index ff5e1469129ada02b4400f1750fce828919d0448..e89dc26d353648398de502d43a78a2a9d4bdddf0 100644
--- a/Core/Tools/inc/MaskedOutputDataIterator.h
+++ b/Core/Tools/inc/MaskedOutputDataIterator.h
@@ -95,7 +95,7 @@ template<class TValue, class TContainer>
 MaskedOutputDataIterator<TValue, TContainer>& MaskedOutputDataIterator<TValue, TContainer>::operator++()
 {
     base_t::operator ++();
-    while (!isSelected()) base_t::operator ++();
+    while (!isSelected()) base_t::operator++();
     return *this;
 }
 
diff --git a/Core/Tools/inc/OutputDataIterator.h b/Core/Tools/inc/OutputDataIterator.h
index b274fcb80e504d539e8b44b8c81b93edf873157f..0a33522e74f53a51c84b1035aae4e23ec8cc268c 100644
--- a/Core/Tools/inc/OutputDataIterator.h
+++ b/Core/Tools/inc/OutputDataIterator.h
@@ -14,33 +14,16 @@
 //! @author Scientific Computing Group at FRM II
 //! @date   Nov 12, 2012
 
-//- -------------------------------------------------------------------
-//! @class IIterator
-//! @brief Basic iterator interface
-//- -------------------------------------------------------------------
-template <class TValue> class IIterator
-{
-public:
-    // construction/destruction
-    IIterator() {}
-    virtual ~IIterator() {}
-    virtual IIterator &operator++() { return *this; }
-    virtual TValue &operator*() const {
-        TValue *p_new = new TValue();
-        return *p_new;
-    }
-};
-
 //- -------------------------------------------------------------------
 //! @class OutputDataIterator
 //! @brief Definition of iterator for underlying OutputData container
 //- -------------------------------------------------------------------
-template <class TValue, class TContainer> class OutputDataIterator : public IIterator<TValue>
+template <class TValue, class TContainer> class OutputDataIterator
 {
 public:
     //! constructor
-    OutputDataIterator(TContainer *p_output_data, size_t start_at_index=0): IIterator<TValue>(),
-        m_current_index(start_at_index), mp_output_data(p_output_data) {}
+    OutputDataIterator(TContainer *p_output_data, size_t start_at_index=0)
+        : m_current_index(start_at_index), mp_output_data(p_output_data) {}
 
     //! templated copy construction
     template<class TValue2, class TContainer2> OutputDataIterator(