diff --git a/include/clang/Analysis/PathSensitive/GRExprEngine.h b/include/clang/Analysis/PathSensitive/GRExprEngine.h
index 1568e30..6dfd428 100644
--- a/include/clang/Analysis/PathSensitive/GRExprEngine.h
+++ b/include/clang/Analysis/PathSensitive/GRExprEngine.h
@@ -28,7 +28,6 @@
   class BugType;
   class PathDiagnosticClient;
   class Diagnostic;
-  class ParentMap;
   class BugReporterData;
 
 class GRExprEngine {
@@ -53,9 +52,6 @@
   /// G - the simulation graph.
   GraphTy& G;
   
-  /// Parents - a lazily created map from Stmt* to parents.
-  ParentMap* Parents;
-  
   /// Liveness - live-variables information the ValueDecl* and block-level
   ///  Expr* in the CFG.  Used to prune out dead state.
   LiveVariables& Liveness;
@@ -218,11 +214,7 @@
   
   GraphTy& getGraph() { return G; }
   const GraphTy& getGraph() const { return G; }
-    
-  /// getParentMap - Return a map from Stmt* to parents for the function/method
-  ///  body being analyzed.  This map is lazily constructed as needed.
-  ParentMap& getParentMap();
-  
+      
   typedef BugTypeSet::iterator bug_type_iterator;
   typedef BugTypeSet::const_iterator const_bug_type_iterator;
   
diff --git a/lib/Analysis/GRExprEngine.cpp b/lib/Analysis/GRExprEngine.cpp
index 0c9a1b6..c4eddb9 100644
--- a/lib/Analysis/GRExprEngine.cpp
+++ b/lib/Analysis/GRExprEngine.cpp
@@ -13,7 +13,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "clang/AST/ParentMap.h"
 #include "clang/Analysis/PathSensitive/GRExprEngine.h"
 #include "clang/Analysis/PathSensitive/BugReporter.h"
 #include "clang/Basic/SourceManager.h"
@@ -43,7 +42,6 @@
                            LiveVariables& L)
   : CoreEngine(cfg, CD, Ctx, *this), 
     G(CoreEngine.getGraph()),
-    Parents(0),
     Liveness(L),
     Builder(NULL),
     StateMgr(G.getContext(), G.getAllocator()),
@@ -67,17 +65,6 @@
     delete *I;  
   
   delete [] NSExceptionInstanceRaiseSelectors;
-  
-  delete Parents;
-}
-
-ParentMap& GRExprEngine::getParentMap() {
-  if (!Parents) {
-    Stmt* Body = getGraph().getCodeDecl().getCodeBody();
-    Parents = new ParentMap(Body);  
-  }
-  
-  return *Parents;
 }
 
 //===----------------------------------------------------------------------===//
