diff --git a/lib/Checker/GRCXXExprEngine.cpp b/lib/Checker/GRCXXExprEngine.cpp
index 378f150..6a1aa1b 100644
--- a/lib/Checker/GRCXXExprEngine.cpp
+++ b/lib/Checker/GRCXXExprEngine.cpp
@@ -220,9 +220,20 @@
   }
 }
 
+void GRExprEngine::VisitCXXDeleteExpr(CXXDeleteExpr *CDE, ExplodedNode *Pred,
+                                      ExplodedNodeSet &Dst) {
+  // Should do more checking.
+  ExplodedNodeSet ArgEvaluated;
+  Visit(CDE->getArgument(), Pred, ArgEvaluated);
+  for (ExplodedNodeSet::iterator I = ArgEvaluated.begin(), 
+                                 E = ArgEvaluated.end(); I != E; ++I) {
+    const GRState *state = GetState(*I);
+    MakeNode(Dst, CDE, *I, state);
+  }
+}
 
 void GRExprEngine::VisitCXXThisExpr(CXXThisExpr *TE, ExplodedNode *Pred,
-                                    ExplodedNodeSet & Dst) {
+                                    ExplodedNodeSet &Dst) {
   // Get the this object region from StoreManager.
   const MemRegion *R =
     ValMgr.getRegionManager().getCXXThisRegion(
diff --git a/lib/Checker/GRExprEngine.cpp b/lib/Checker/GRExprEngine.cpp
index a39e7f5..41e5243 100644
--- a/lib/Checker/GRExprEngine.cpp
+++ b/lib/Checker/GRExprEngine.cpp
@@ -589,7 +589,6 @@
     case Stmt::CXXCatchStmtClass:
     case Stmt::CXXConstructExprClass:
     case Stmt::CXXDefaultArgExprClass:
-    case Stmt::CXXDeleteExprClass:
     case Stmt::CXXDependentScopeMemberExprClass:
     case Stmt::CXXExprWithTemporariesClass:
     case Stmt::CXXNamedCastExprClass:
@@ -724,6 +723,11 @@
       break;
     }
 
+    case Stmt::CXXDeleteExprClass: {
+      CXXDeleteExpr *CDE = cast<CXXDeleteExpr>(S);
+      VisitCXXDeleteExpr(CDE, Pred, Dst);
+      break;
+    }
       // FIXME: ChooseExpr is really a constant.  We need to fix
       //        the CFG do not model them as explicit control-flow.
 
