diff --git a/glrdomon.go b/glrdomon.go
index 992db62e84bda7fb8523f885391d67fb3b4221b8..29b2f1e7dafcca6bfa4e8c7a1d636fc2b21157e6 100644
--- a/glrdomon.go
+++ b/glrdomon.go
@@ -115,7 +115,7 @@ func checkAPI() {
 
 	for _, droplet := range droplets {
 		wg.Add(1)
-		go checkDropletAge(droplet)
+		go checkDroplet(droplet)
 	}
 }
 
@@ -148,24 +148,38 @@ func listDroplets(ctx context.Context, client *godo.Client) ([]godo.Droplet, err
 	return list, nil
 }
 
-func checkDropletAge(droplet godo.Droplet) {
+func checkDroplet(droplet godo.Droplet) {
 	defer wg.Done()
 
+	if !checkDropletAge(droplet) {
+		return
+	}
+
+	deleted := deleteDroplet(droplet)
+	if deleteStale {
+		if deleted {
+			logger.Printf("Removed droplet %s (%d)", droplet.Name, droplet.ID)
+		} else {
+			logger.Printf("Failed to delete droplet %s (%d)", droplet.Name, droplet.ID)
+		}
+	}
+}
+
+func checkDropletAge(droplet godo.Droplet) bool {
 	thr := time.Now().Add(time.Duration(-threshold))
 	created, err := time.Parse(time.RFC3339, droplet.Created)
 	if err != nil {
 		logger.Printf("Could not parse created-timestamp for droplet ID %d", droplet.ID)
-		return
+		return false
 	}
 
-	if thr.After(created) {
-		logger.Printf("Stale droplet => ID: %d; name: \"%s\"; created: %s, %s (%d)", droplet.ID, droplet.Name, humanize.Time(created), droplet.Created, created.Unix())
+	stale := thr.After(created)
 
-		deleted := deleteDroplet(droplet)
-		if deleteStale && !deleted {
-			logger.Printf("Failed to delete droplet ID %d", droplet.ID)
-		}
+	if stale {
+		logger.Printf("Stale droplet => ID: %d; name: \"%s\"; created: %s, %s (%d)", droplet.ID, droplet.Name, humanize.Time(created), droplet.Created, created.Unix())
 	}
+
+	return stale
 }
 
 func deleteDroplet(droplet godo.Droplet) bool {
@@ -173,12 +187,12 @@ func deleteDroplet(droplet godo.Droplet) bool {
 		return false
 	}
 
-	logger.Printf("Deleting droplet %d", droplet.ID)
+	logger.Printf("Deleting droplet %s (%d)", droplet.Name, droplet.ID)
 
 	ctx := context.TODO()
 	_, err := client.Droplets.Delete(ctx, droplet.ID)
 
-	return err != nil
+	return err == nil
 }
 
 func setUpLogger() {
diff --git a/glrdomon_test.go b/glrdomon_test.go
index 4c11ca1018f4854c8b070347000ccaea2b4c1d78..67330b1cd61359b6288df190dfbf30f370bebd06 100644
--- a/glrdomon_test.go
+++ b/glrdomon_test.go
@@ -1,6 +1,34 @@
 package main
 
-import "testing"
+import (
+	"testing"
+	"time"
+
+	"github.com/digitalocean/godo"
+)
+
+func TestCheckDropletAge(t *testing.T) {
+	staleDroplet := godo.Droplet{
+		ID:      1234,
+		Name:    "very-old",
+		Created: "2000-08-19T19:07:04Z",
+	}
+
+	if !checkDropletAge(staleDroplet) {
+		t.Error("Failed to assert that very old droplet is stale")
+	}
+
+	now := time.Now()
+	newDroplet := godo.Droplet{
+		ID:      5678,
+		Name:    "new",
+		Created: now.Format(time.RFC3339),
+	}
+
+	if checkDropletAge(newDroplet) {
+		t.Error("Asserted that brand-new droplet is stale")
+	}
+}
 
 func TestValidatePath(t *testing.T) {
 	emptyString := ""