diff --git a/repos/libports/run/extract.run b/repos/libports/run/extract.run
index 4cd5812a39..c8da860165 100644
--- a/repos/libports/run/extract.run
+++ b/repos/libports/run/extract.run
@@ -18,7 +18,7 @@ install_config {
 	<start name="extract" caps="200">
 		<resource name="RAM" quantum="12M"/>
 		<config verbose="yes">
-			<libc stdout="/dev/log" stderr="/dev/log" rtc="/dev/null"/>
+			<libc stdout="/dev/log" stderr="/dev/log"/>
 			<vfs>
 				<dir name="archived">
 					<rom name="test.tar.xz"/>
diff --git a/repos/libports/src/app/extract/main.cc b/repos/libports/src/app/extract/main.cc
index f2500fa74d..bfc01bcc0f 100644
--- a/repos/libports/src/app/extract/main.cc
+++ b/repos/libports/src/app/extract/main.cc
@@ -291,6 +291,20 @@ void Libc::Component::construct(Libc::Env &env)
 	static Extract::Main main(env);
 }
 
-/* dummy to prevent warning printed by unimplemented libc function */
+/**
+ * Dummy to prevent warning printed by unimplemented libc function
+ */
 extern "C" mode_t umask(mode_t value) { return value; }
 
+/**
+ * Dummy to discharge the dependency from a timer session
+ *
+ * When libarchive creates a archives, it requests the current time to create
+ * up-to-date time stamps. Unfortunately, however, 'time' is called
+ * unconditionally regardless of whether an archive is created or extracted.
+ * In the latter (our) case, the wall-clock time is not relevant. Still,
+ * libarchive creates an artificial dependency from a time source in either
+ * case.
+ */
+extern "C" time_t time(time_t *) { return 0; }
+