diff --git a/include/llvm/Analysis/DSNode.h b/include/llvm/Analysis/DSNode.h
index 12d2cbc..367c377 100644
--- a/include/llvm/Analysis/DSNode.h
+++ b/include/llvm/Analysis/DSNode.h
@@ -63,7 +63,7 @@
   enum NodeTy {
     ShadowNode  = 0,        // Nothing is known about this node...
     AllocaNode  = 1 << 0,   // This node was allocated with alloca
-    NewNode     = 1 << 1,   // This node was allocated with malloc
+    HeapNode    = 1 << 1,   // This node was allocated with malloc
     GlobalNode  = 1 << 2,   // This node was allocated by a global var decl
     UnknownNode = 1 << 3,   // This node points to unknown allocated memory 
     Incomplete  = 1 << 4,   // This node may not be complete
diff --git a/include/llvm/Analysis/DataStructure/DSNode.h b/include/llvm/Analysis/DataStructure/DSNode.h
index 12d2cbc..367c377 100644
--- a/include/llvm/Analysis/DataStructure/DSNode.h
+++ b/include/llvm/Analysis/DataStructure/DSNode.h
@@ -63,7 +63,7 @@
   enum NodeTy {
     ShadowNode  = 0,        // Nothing is known about this node...
     AllocaNode  = 1 << 0,   // This node was allocated with alloca
-    NewNode     = 1 << 1,   // This node was allocated with malloc
+    HeapNode    = 1 << 1,   // This node was allocated with malloc
     GlobalNode  = 1 << 2,   // This node was allocated by a global var decl
     UnknownNode = 1 << 3,   // This node points to unknown allocated memory 
     Incomplete  = 1 << 4,   // This node may not be complete
diff --git a/lib/Analysis/DataStructure/DataStructure.cpp b/lib/Analysis/DataStructure/DataStructure.cpp
index 2aadc00..ac65d2a 100644
--- a/lib/Analysis/DataStructure/DataStructure.cpp
+++ b/lib/Analysis/DataStructure/DataStructure.cpp
@@ -1003,10 +1003,11 @@
   }
 }
 
-// Bits used in the next function
-static const char ExternalTypeBits = DSNode::GlobalNode | DSNode::NewNode;
-
 #if 0
+// Bits used in the next function
+static const char ExternalTypeBits = DSNode::GlobalNode | DSNode::HeapNode;
+
+
 // GlobalDSGraph::cloneNodeInto - Clone a global node and all its externally
 // visible target links (and recursively their such links) into this graph.
 // NodeCache maps the node being cloned to its clone in the Globals graph,
diff --git a/lib/Analysis/DataStructure/Local.cpp b/lib/Analysis/DataStructure/Local.cpp
index 0d6046d..e45cdcb 100644
--- a/lib/Analysis/DataStructure/Local.cpp
+++ b/lib/Analysis/DataStructure/Local.cpp
@@ -84,7 +84,7 @@
   private:
     // Visitor functions, used to handle each instruction type we encounter...
     friend class InstVisitor<GraphBuilder>;
-    void visitMallocInst(MallocInst &MI) { handleAlloc(MI, DSNode::NewNode); }
+    void visitMallocInst(MallocInst &MI) { handleAlloc(MI, DSNode::HeapNode); }
     void visitAllocaInst(AllocaInst &AI) { handleAlloc(AI, DSNode::AllocaNode);}
     void handleAlloc(AllocationInst &AI, DSNode::NodeTy NT);
 
diff --git a/lib/Analysis/DataStructure/Printer.cpp b/lib/Analysis/DataStructure/Printer.cpp
index a58f7ef..8514d53 100644
--- a/lib/Analysis/DataStructure/Printer.cpp
+++ b/lib/Analysis/DataStructure/Printer.cpp
@@ -37,7 +37,7 @@
   }
 
   if (N->NodeType & DSNode::AllocaNode ) OS << "S";
-  if (N->NodeType & DSNode::NewNode    ) OS << "H";
+  if (N->NodeType & DSNode::HeapNode   ) OS << "H";
   if (N->NodeType & DSNode::GlobalNode ) OS << "G";
   if (N->NodeType & DSNode::UnknownNode) OS << "U";
   if (N->NodeType & DSNode::Incomplete ) OS << "I";
