diff --git a/lib/CodeGen/InstrSched/SchedGraph.cpp b/lib/CodeGen/InstrSched/SchedGraph.cpp
index 9de0434..bcdd1cf 100644
--- a/lib/CodeGen/InstrSched/SchedGraph.cpp
+++ b/lib/CodeGen/InstrSched/SchedGraph.cpp
@@ -53,10 +53,18 @@
   }
 }
 
+//
+// Method: SchedGraphNode Destructor
+//
+// Description:
+//	Free memory allocated by the SchedGraphNode object.
+//
+// Notes:
+//	Do not delete the edges here.  The base class will take care of that.
+//	Only handle subclass specific stuff here (where currently there is
+//	none).
+//
 SchedGraphNode::~SchedGraphNode() {
-  // for each node, delete its out-edges
-  std::for_each(beginOutEdges(), endOutEdges(),
-                deleter<SchedGraphEdge>);
 }
 
 // 
@@ -67,11 +75,19 @@
   buildGraph(target);
 }
 
+//
+// Method: SchedGraph Destructor
+//
+// Description:
+//	This method deletes memory allocated by the SchedGraph object.
+//
+// Notes:
+//	Do not delete the graphRoot or graphLeaf here.  The base class handles
+//	that bit of work.
+//
 SchedGraph::~SchedGraph() {
   for (const_iterator I = begin(); I != end(); ++I)
     delete I->second;
-  delete graphRoot;
-  delete graphLeaf;
 }
 
 void SchedGraph::dump() const {
diff --git a/lib/Target/SparcV9/InstrSched/SchedGraph.cpp b/lib/Target/SparcV9/InstrSched/SchedGraph.cpp
index 9de0434..bcdd1cf 100644
--- a/lib/Target/SparcV9/InstrSched/SchedGraph.cpp
+++ b/lib/Target/SparcV9/InstrSched/SchedGraph.cpp
@@ -53,10 +53,18 @@
   }
 }
 
+//
+// Method: SchedGraphNode Destructor
+//
+// Description:
+//	Free memory allocated by the SchedGraphNode object.
+//
+// Notes:
+//	Do not delete the edges here.  The base class will take care of that.
+//	Only handle subclass specific stuff here (where currently there is
+//	none).
+//
 SchedGraphNode::~SchedGraphNode() {
-  // for each node, delete its out-edges
-  std::for_each(beginOutEdges(), endOutEdges(),
-                deleter<SchedGraphEdge>);
 }
 
 // 
@@ -67,11 +75,19 @@
   buildGraph(target);
 }
 
+//
+// Method: SchedGraph Destructor
+//
+// Description:
+//	This method deletes memory allocated by the SchedGraph object.
+//
+// Notes:
+//	Do not delete the graphRoot or graphLeaf here.  The base class handles
+//	that bit of work.
+//
 SchedGraph::~SchedGraph() {
   for (const_iterator I = begin(); I != end(); ++I)
     delete I->second;
-  delete graphRoot;
-  delete graphLeaf;
 }
 
 void SchedGraph::dump() const {
