diff --git a/Makefile b/Makefile
index e414d1496809f398a785c09ea439f5bdb9bd2bf1..c15d20dc9510ea9008036fb8c57f0de290f7e1dd 100644
--- a/Makefile
+++ b/Makefile
@@ -31,6 +31,8 @@ ALLEGROMODERN ?= mlisp
 
 # website, tag, install
 
+default: test
+
 install: archive-copy
 
 archive:
diff --git a/asdf.asd b/asdf.asd
index 8fd0a1e7f2bbc941b3402b675727b1e30f2ffe89..49873e2b04d7560661f6405e2479773efe90f8a9 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -14,7 +14,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.019.7" ;; to be automatically updated by bin/bump-revision
+  :version "2.019.8" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
   :components
   ((:file "asdf")
diff --git a/asdf.lisp b/asdf.lisp
index a7fe42f7336c25574d74b4fc512075cfb3e0e631..6c195bf39073694e095e2f00db58cb78eee713a8 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
-;;; This is ASDF 2.019.7: Another System Definition Facility.
+;;; This is ASDF 2.019.8: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
@@ -107,7 +107,7 @@
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.019.7")
+         (asdf-version "2.019.8")
          (existing-asdf (find-class 'component nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))
@@ -3457,13 +3457,12 @@ Please remove it from your ASDF configuration"))
 
 (defun* location-function-p (x)
   (and
-   (consp x)
    (length=n-p x 2)
-   (or (and (equal (first x) :function)
-            (typep (second x) 'symbol))
-       (and (equal (first x) 'lambda)
-            (cddr x)
-            (length=n-p (second x) 2)))))
+   (eq (car x) :function)
+   (or (symbolp (cadr x))
+       (and (consp (cadr x))
+            (eq (caadr x) 'lambda)
+            (length=n-p (cadadr x) 2)))))
 
 (defun* validate-output-translations-directive (directive)
   (or (member directive '(:enable-user-cache :disable-cache nil))
diff --git a/test/test-utilities.script b/test/test-utilities.script
index 30197eff81cfac4806defbb59cec3f33b0992c4b..b4ebe3cbac38f2ac146fa4b553ff386910be10f4 100644
--- a/test/test-utilities.script
+++ b/test/test-utilities.script
@@ -44,4 +44,14 @@
  (not (asdf::version-satisfies (asdf:asdf-version) "666")))
 (assert
   (equal (asdf::split-absolute-pathnames "/foo:/bar" "baz") '("/foo" "/bar")))
+(assert (equal (mapcar 'location-function-p
+                       '((:function f)
+                         (:function (lambda (path absolute-source)
+                                      (declare (ignore absolute-source))
+                                      path))
+                         (function previous-isnt-keyword)
+                         (:function f too many arguments)
+                         (:function (:lambda isnt lambda))
+                         (:function (lambda (too many args) blah))))
+               '(t t nil nil nil nil)))
 )