         return
 
       if exists
-        process.stdout.write "Registering #{pack.name} (#{repository}) "
+        publishNewVersion()
+      else
+        process.stdout.write "Registering #{pack.name} "
         @registerPackage repository, (error) =>
           if error?
             process.stdout.write '\u2717\n'.red
             callback(error)
           else
             process.stdout.write '\u2713\n'.green
-            publishNewVersion()
-      else
-        publishNewVersion()
+            publishNewVersion(true)
 
   # Run the publish command with the given options
   run: (options) ->

          callback(error)
        else
          process.stdout.write '\u2713\n'.green
          callback()

    @packageExists pack.name, (error, exists) =>

      callback('Unable to parse repository name/owner from package.json repository field')
      return

    publishNewVersion = (firstTime) =>
      process.stdout.write "Publishing #{pack.name}@#{tag} "
      @createPackageVersion pack.name, tag, (error) ->
        if error?
