diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index c5084ac..14a63a4 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -11236,6 +11236,12 @@
 
 	_flush_elog_mod_echo()
 
+	counter_hash = settings.get("PORTAGE_COUNTER_HASH")
+	if counter_hash is not None and \
+		counter_hash == vardbapi._counter_hash():
+		# If vdb state has not changed then there's nothing else to do.
+		sys.exit(retval)
+
 	vdb_path = os.path.join(target_root, portage.VDB_PATH)
 	portage.util.ensure_dirs(vdb_path)
 	vdb_lock = None
@@ -13830,6 +13836,9 @@
 		mysettings =  trees[myroot]["vartree"].settings
 		mysettings.unlock()
 		adjust_config(myopts, mysettings)
+		mysettings["PORTAGE_COUNTER_HASH"] = \
+			trees[myroot]["vartree"].dbapi._counter_hash()
+		mysettings.backup_changes("PORTAGE_COUNTER_HASH")
 		mysettings.lock()
 		del myroot, mysettings
 
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 485a2d4..8c8c99e 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -1002,6 +1002,7 @@
 		"GENTOO_MIRRORS", "NOCONFMEM", "O",
 		"PORTAGE_BACKGROUND",
 		"PORTAGE_BINHOST_CHUNKSIZE", "PORTAGE_CALLER",
+		"PORTAGE_COUNTER_HASH",
 		"PORTAGE_ECLASS_WARNING_ENABLE", "PORTAGE_ELOG_CLASSES",
 		"PORTAGE_ELOG_MAILFROM", "PORTAGE_ELOG_MAILSUBJECT",
 		"PORTAGE_ELOG_MAILURI", "PORTAGE_ELOG_SYSTEM",
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index 1d5c8fe..c362849 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -773,6 +773,21 @@
 			level=logging.ERROR, noiselevel=-1)
 		return 0
 
+	def _counter_hash(self):
+		try:
+			from hashlib import md5 as new_hash
+		except ImportError:
+			from md5 import new as new_hash
+		h = new_hash()
+		aux_keys = ["COUNTER"]
+		for cpv in self.cpv_all():
+			try:
+				counter, = self.aux_get(cpv, aux_keys)
+			except KeyError:
+				continue
+			h.update(counter)
+		return h.hexdigest()
+
 	def cpv_inject(self, mycpv):
 		"injects a real package into our on-disk database; assumes mycpv is valid and doesn't already exist"
 		os.makedirs(self.getpath(mycpv))
@@ -916,6 +931,7 @@
 					self.invalidentry(self.getpath(subpath))
 					continue
 				returnme.append(subpath)
+		returnme.sort()
 		return returnme
 
 	def cp_all(self, use_cache=1):
