Index: /source/ariba/utility/visual/DddVis.cpp
===================================================================
--- /source/ariba/utility/visual/DddVis.cpp	(revision 6894)
+++ /source/ariba/utility/visual/DddVis.cpp	(revision 6900)
@@ -230,6 +230,15 @@
 		unsigned char b
 ){
-	ostringstream out;
-
+	NodeSet::iterator i = colorSet.find(node);
+	unsigned int color = makeColor(r,g,b);
+
+	if( i == colorSet.end() ){
+		colorSet.insert(make_pair( node, color )); // color not set for node, set
+	}else{
+		if( i->second == color ) return; // color already set, ignore
+		else i->second = color;			 // new color, set
+	}
+
+	ostringstream out;
 	out	<< SET_NODE_COLOR_TYPE 		<< del
 			<< getCommandID() 			<< del
Index: /source/ariba/utility/visual/DddVis.h
===================================================================
--- /source/ariba/utility/visual/DddVis.h	(revision 6894)
+++ /source/ariba/utility/visual/DddVis.h	(revision 6900)
@@ -217,4 +217,5 @@
 	NetworkLinks networkLinks;
 
+	NodeSet colorSet;
 
 };
