 		p1[p1._pCount++] = p2
 
 		# 2.2.6
-		if p1._state != $pending
-			scheduleHandler p1, p2
+		if p1._state != $pending and p1._pCount > 0
+			scheduleHandler p1
 
 		# 2.2.7
 		p2

		if not isLongStackTrace
			p._pre = $nil

		i = 0
		len = p._pCount

		# 2.2.2
		# 2.2.3
		while i < len
			# 2.2.4
			scheduleHandler p, p[i++]

		p


		Yaku.nextTick = try
			root.process.nextTick
		catch
			setTimeout.bind root

		(v) ->
			fnQueue[fnQueueLen++] = v

			Yaku.nextTick flush if fnQueueLen == 1

			return

