diff --git a/scripts/deploy.js b/scripts/deploy.js
index 5ff7dfc9045c792f8f0c3e1c6c55a998605faf73..9c26f63933ce619a90e9fb956626a9689bc8841f 100755
--- a/scripts/deploy.js
+++ b/scripts/deploy.js
@@ -42,10 +42,10 @@ verbs['destroy'] = function(args) {
   validateName(name);
 
   process.stdout.write("trying to destroy VM for " + name + ".hacksign.in: "); 
-  vm.destroy(name, function(cb, err) {
-    console.log(err ? "failed: " + err : "done");
+  vm.destroy(name, function(err) {
+    console.log(err ? ("failed: " + err) : "done");
     process.stdout.write("trying to remove DNS for " + name + ".hacksign.in: "); 
-    dns.deleteRecord(name, function(cb, err) {
+    dns.deleteRecord(name, function(err) {
       console.log(err ? "failed: " + err : "done");
     });
   });
@@ -84,7 +84,13 @@ verbs['deploy'] = function(args) {
               checkErr(err);
               console.log("   ... victory!  server is accessible and configured");
               git.addRemote(name, deets.ipAddress, function(err, r) {
-                checkErr(err);
+                if (err && /already exists/.test(err)) {
+                  console.log("OOPS! you already have a git remote named 'test'!");
+                  console.log("to create a new one: git remote add <name> " +
+                              "app@" + deets.ipAddress + ":git");  
+                } else {
+                  checkErr(err);
+                }
                 console.log("   ... and your git remote is all set up");
                 console.log("");
                 printInstructions(name, deets);
diff --git a/scripts/deploy/dns.js b/scripts/deploy/dns.js
index 26f4283a355d251fdfa60fd3ac3134fb3c0ffc8d..d35fc4cf21af9a84098a142ca06767b88434b59d 100644
--- a/scripts/deploy/dns.js
+++ b/scripts/deploy/dns.js
@@ -40,7 +40,6 @@ function doRequest(method, path, body, cb) {
 };
 
 exports.updateRecord = function (hostname, ip, cb) {
-  exports.deleteRecord(hostname, function() {} );
   doRequest('GET', '/api/1.1/zones.xml', null, function(err, r) {
     if (err) return cb(err);
     var m = jsel.match('object:has(:root > .domain:val(?)) > .id .$t',
@@ -60,6 +59,7 @@ exports.deleteRecord = function (hostname, cb) {
   doRequest('GET', '/api/1.1/hosts.xml?fqdn=' + hostname + ".hacksign.in", null, function(err, r) {
     if (err) return cb(err);
     var m = jsel.match('.host .id > .$t', r);
+    if (!m.length) return cb("no such DNS record");
     function deleteOne() {
       if (!m.length) return cb(null);
       var one = m.shift();
@@ -80,4 +80,4 @@ exports.inUse = function (hostname, cb) {
     if (m.length) return cb(null, m[0]);
     cb(null, null);
   });
-}
\ No newline at end of file
+}
diff --git a/scripts/deploy/vm.js b/scripts/deploy/vm.js
index d07c0606b10a6dd8abdd1bc1a36e39dd2aee1bb7..e321da91a47427d8f77d057375a53c8ad4d6e106 100644
--- a/scripts/deploy/vm.js
+++ b/scripts/deploy/vm.js
@@ -43,9 +43,8 @@ exports.destroy = function(name, cb) {
     aws.call('TerminateInstances', {
       InstanceId: r[name].instanceId
     }, function(result) {
-      console.log(result);
       try { return cb(result.Errors.Error.Message); } catch(e) {};
-      return null;
+      cb(null);
     });
   });
 };