diff --git a/guix/packages.scm b/guix/packages.scm
index da8f45af5e7ba14a7321f80d4df35bfbe8c90ae4..a9534adfec62a8fe77de200479184b287482a110 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -280,11 +280,7 @@ (define expand-input
       ;; package, then `transitive-inputs' and co. would need to be
       ;; adjusted.
       (let ((input (proc system)))
-        (if (or (string? input) (origin? input))
-            (expand-input (cons* name input sub-drv))
-            (raise (condition (&package-input-error
-                               (package package)
-                               (input   i)))))))
+        (expand-input (cons* name input sub-drv))))
      (x
       (raise (condition (&package-input-error
                          (package package)