diff --git a/paddle/fluid/framework/parallel_executor.cc b/paddle/fluid/framework/parallel_executor.cc
index ab0d9f72f7b0104ff1958c76b35dcf08ac5726aa..08d508d54215273639fd843170c9201e364515b8 100644
--- a/paddle/fluid/framework/parallel_executor.cc
+++ b/paddle/fluid/framework/parallel_executor.cc
@@ -703,7 +703,7 @@ void ParallelExecutor::Run(const std::vector<std::string> &fetch_tensors,
     RunOp(pending_vars, op);
   }
 
-  while (!pending_ops.empty()) {
+  while (!pending_vars.empty()) {
     VarHandleBase *ready_var = nullptr;
     for (auto &pair : pending_vars) {
       if (pair.second) {
@@ -716,6 +716,7 @@ void ParallelExecutor::Run(const std::vector<std::string> &fetch_tensors,
       if (member_->exception_) {
         throw * member_->exception_;
       }
+      VLOG(3) << pending_vars.size();
 
       continue;
     }
@@ -748,9 +749,7 @@ void ParallelExecutor::RunOp(
 
   auto op_run = [ready_buffer, op, this] {
     try {
-      VLOG(10) << op->DebugString() << " " << op;
       op->Run();
-      VLOG(10) << "Done " << op;
       for (auto *ready : *ready_buffer) {
         *ready = true;
       }