diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py
index e13b1cf..86a5631 100644
--- a/pym/_emerge/EbuildBuild.py
+++ b/pym/_emerge/EbuildBuild.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
 from _emerge.EbuildExecuter import EbuildExecuter
@@ -321,7 +321,12 @@
 						pkg=self.pkg, scheduler=self.scheduler,
 						settings=self.settings))
 
-		self._start_task(binpkg_tasks, self._buildpkg_exit)
+		if binpkg_tasks:
+			self._start_task(binpkg_tasks, self._buildpkg_exit)
+			return
+
+		self._final_exit(build)
+		self.wait()
 
 	def _buildpkg_exit(self, packager):
 		"""
diff --git a/pym/_emerge/TaskSequence.py b/pym/_emerge/TaskSequence.py
index b4bfefe..1f2ba94 100644
--- a/pym/_emerge/TaskSequence.py
+++ b/pym/_emerge/TaskSequence.py
@@ -1,10 +1,12 @@
-# Copyright 1999-2011 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
+import sys
+from collections import deque
+
 from portage import os
 from _emerge.CompositeTask import CompositeTask
 from _emerge.AsynchronousTask import AsynchronousTask
-from collections import deque
 
 class TaskSequence(CompositeTask):
 	"""
@@ -30,9 +32,15 @@
 		CompositeTask._cancel(self)
 
 	def _start_next_task(self):
-		if self._task_queue:
-			self._start_task(self._task_queue.popleft(),
-				self._task_exit_handler)
+		try:
+			task = self._task_queue.popleft()
+		except IndexError:
+			self._current_task = None
+			self.returncode = os.EX_OK
+			self.wait()
+			return
+
+		self._start_task(task, self._task_exit_handler)
 
 	def _task_exit_handler(self, task):
 		if self._default_exit(task) != os.EX_OK:
@@ -43,3 +51,11 @@
 			self._final_exit(task)
 			self.wait()
 
+	def __bool__(self):
+		return bool(self._task_queue)
+
+	if sys.hexversion < 0x3000000:
+		__nonzero__ = __bool__
+
+	def __len__(self):
+		return len(self._task_queue)
