diff -u CLAM/src/Processing/Controls/ControlTrace.cxx CLAM/src/Processing/Controls/ControlTrace.cxx
--- CLAM/src/Processing/Controls/ControlTrace.cxx	(revision 0)
+++ CLAM/src/Processing/Controls/ControlTrace.cxx	(revision 0)
@@ -33,16 +33,16 @@
 {
 
 ControlTraceEvent::ControlTraceEvent()
-	: mSteps(1)
+	: mRepeats(0)
 {
 }
 ControlTraceEvent::ControlTraceEvent(const ControlTraceEvent &obj)
-	: mSteps(obj.mSteps)
+	: mRepeats(obj.mRepeats)
 	, mValues(obj.mValues)
 {
 }
 ControlTraceEvent::ControlTraceEvent(const InControlArray &inputs)
-	: mSteps(1)
+	: mRepeats(0)
 {
 	mValues.resize(inputs.Size());
 	for (int i = 0; i < inputs.Size(); i++)
@@ -60,7 +60,7 @@
 	XMLIterableAdapter<ValueArray> vAdapter(mValues, "x", "controls", true);
 	storage.Load(vAdapter);
 
-	XMLAdapter<unsigned int> sAdapter(mSteps, "repeats", true);
+	XMLAdapter<unsigned int> sAdapter(mRepeats, "repeats", true);
 	storage.Load(sAdapter);
 }
 
@@ -69,9 +69,9 @@
 	XMLIterableAdapter<ValueArray> vAdapter(mValues, "x", "controls", true);
 	storage.Store(vAdapter);
 
-	if (mSteps > 1)
+	if (mRepeats)
 	{
-		XMLAdapter<unsigned int> sAdapter(mSteps, "repeats", true);
+		XMLAdapter<unsigned int> sAdapter(mRepeats, "repeats", true);
 		storage.Store(sAdapter);
 	}
 }
@@ -137,7 +137,7 @@
 {
 	ControlTraceEvent &prev = mEvents.back();
 	if (prev.ValuesEqual(data))
-		prev.AddStep();
+		prev.WasRepeated();
 	else
 		mEvents.push_back(data);
 }
@@ -300,7 +300,7 @@
 bool ControlTraceReader::ConcreteStart()
 {
 	mIterator = mTrace.Begin();
-	mStepCounter = 0;
+	mRepeatCounter = 0;
 	return true;
 }
 
@@ -312,14 +312,15 @@
 	const ControlTraceEvent &event = *mIterator;
 
 	// if this is the zeroth (first) step, update the controls
-	if (!mStepCounter)
+	if (!mRepeatCounter)
 		event.UpdateControls(mOutputs);
 
 	// if this step completes the current event, advance and reset counter
-	if (++mStepCounter == event.Steps()) {
+	if (mRepeatCounter++ == event.Repeats()) {
 		mIterator++;
-		mStepCounter = 0;
+		mRepeatCounter = 0;
 	}
+
 	return true;
 }
 
diff -u CLAM/src/Processing/Controls/ControlTrace.hxx CLAM/src/Processing/Controls/ControlTrace.hxx
--- CLAM/src/Processing/Controls/ControlTrace.hxx	(revision 0)
+++ CLAM/src/Processing/Controls/ControlTrace.hxx	(revision 0)
@@ -52,8 +52,9 @@
 	void LoadFrom( Storage& storage);
 	void StoreOn( Storage& storage ) const;
 
-	void AddStep() { mSteps++; }
-	unsigned int Steps() const { return mSteps; }
+	void WasRepeated() { mRepeats++; }
+	unsigned int Repeats() const { return mRepeats; }
+
 	size_t Size() const { return mValues.size(); }
 
 	void UpdateControls(OutControlArray &array) const;
@@ -61,7 +62,7 @@
 	bool ValuesEqual(const ControlTraceEvent &rhs) const;
 
 private:
-	unsigned int mSteps;
+	unsigned int mRepeats;
 	ValueArray mValues;
 };
 
@@ -137,7 +138,7 @@
 	ControlTraceReaderConfig mConfig;
 	ControlTraceData mTrace;
 	ControlTraceData::EventList::iterator mIterator;
-	unsigned int mStepCounter;
+	unsigned int mRepeatCounter;
 	OutControlArray mOutputs;
 };
 
