: Event(&mainEventQueue, CPU_Tick_Pri), cachePort(_cachePort)
 {
     this->setFlags(AutoDelete);
-    pkt = NULL;
     schedule(when);
 }
 
             return;
         }
 
-        pkt = cachePort->cache->getPacket();
+        PacketPtr pkt = cachePort->cache->getPacket();
         MSHR* mshr = (MSHR*) pkt->senderState;
         //Copy the packet, it may be modified/destroyed elsewhere
         PacketPtr copyPkt = new Packet(*pkt);
             DPRINTF(CachePort, "%s still more MSHR requests to send\n",
                     cachePort->name());
             //Still more to issue, rerequest in 1 cycle
-            pkt = NULL;
             this->schedule(curTick+1);
         }
     }
     {
         //CSHR
         assert(cachePort->cache->doSlaveRequest());
-        pkt = cachePort->cache->getCoherencePacket();
+        PacketPtr pkt = cachePort->cache->getCoherencePacket();
         MSHR* cshr = (MSHR*) pkt->senderState;
         bool success = cachePort->sendTiming(pkt);
         cachePort->cache->sendCoherenceResult(pkt, cshr, success);
             DPRINTF(CachePort, "%s still more CSHR requests to send\n",
                     cachePort->name());
             //Still more to issue, rerequest in 1 cycle
-            pkt = NULL;
             this->schedule(curTick+1);
         }
     }
 BaseCache::ResponseEvent::ResponseEvent(CachePort *_cachePort)
     : Event(&mainEventQueue, CPU_Tick_Pri), cachePort(_cachePort)
 {
-    pkt = NULL;
 }
 
 void
 {
     assert(cachePort->transmitList.size());
     assert(cachePort->transmitList.front().first <= curTick);
-    pkt = cachePort->transmitList.front().second;
+    PacketPtr pkt = cachePort->transmitList.front().second;
     cachePort->transmitList.pop_front();
     if (!cachePort->transmitList.empty()) {
         Tick time = cachePort->transmitList.front().first;