diff --git a/apigee_sync.go b/apigee_sync.go
index 20eb9a5..d32635a 100644
--- a/apigee_sync.go
+++ b/apigee_sync.go
@@ -9,6 +9,8 @@
 	"path"
 	"time"
 
+	"sync/atomic"
+
 	"github.com/30x/apid-core"
 	"github.com/apigee-labs/transicator/common"
 )
@@ -23,7 +25,7 @@
 	block        string = "45"
 	token        string
 	lastSequence string
-	polling      bool
+	polling      uint32
 )
 
 /*
@@ -32,11 +34,9 @@
  */
 func pollForChanges() {
 
-	// ensure there's just one polling thread
-	if polling {
+	if atomic.SwapUint32(&polling, 1) == 1 {
 		return
 	}
-	polling = true
 
 	var backOffFunc func()
 	pollInterval := config.GetDuration(configPollInterval)
@@ -61,7 +61,7 @@
 		backOffFunc()
 	}
 
-	polling = false
+	atomic.SwapUint32(&polling, 0)
 }
 
 /*
@@ -130,6 +130,7 @@
 				token = ""
 
 			case http.StatusNotModified:
+				r.Body.Close()
 				continue
 
 			case http.StatusBadRequest:
@@ -168,7 +169,6 @@
 			case <-time.After(httpTimeout):
 				log.Panic("Timeout. Plugins failed to respond to changes.")
 			case <-done:
-				close(done)
 			}
 		} else {
 			log.Debugf("No Changes detected for Scopes: %s", scopes)
@@ -176,7 +176,7 @@
 
 		if lastSequence != resp.LastSequence {
 			lastSequence = resp.LastSequence
-			err := updateLastSequence(lastSequence)
+			err := updateLastSequence(resp.LastSequence)
 			if err != nil {
 				log.Panic("Unable to update Sequence in DB")
 			}
@@ -347,7 +347,6 @@
 	case <-time.After(pluginTimeout):
 		log.Panic("Timeout. Plugins failed to respond to snapshot.")
 	case <-done:
-		close(done)
 	}
 }
 
