diff --git a/lib/vagrant/util/subprocess.rb b/lib/vagrant/util/subprocess.rb
index <HASH>..<HASH> 100644
--- a/lib/vagrant/util/subprocess.rb
+++ b/lib/vagrant/util/subprocess.rb
@@ -105,10 +105,15 @@ module Vagrant
         # amount of text between the time we last read data and when the
         # process exited.
         [stdout, stderr].each do |io|
+          # Read the extra data, ignoring if there isn't any
           extra_data = read_io(io)
+          next if extra_data == ""
+
+          # Log it out and accumulate
           @logger.debug(extra_data)
           io_data[io] += extra_data
 
+          # Yield to any listeners any remaining data
           io_name = io == stdout ? :stdout : :stderr
           yield io_name, extra_data if block_given?
         end
Subprocess: Check if data is empty after the process exits as well