diff --git a/src/code/backq.lisp b/src/code/backq.lisp
index ece7f42a78ada1002761c10f5b5781d735755602..b56a9e51d2adb2768fbe0d3e6ae1514ca6c61039 100644
--- a/src/code/backq.lisp
+++ b/src/code/backq.lisp
@@ -263,7 +263,8 @@
 		   (backq-unparse (car tail) t)))
 	 (push (backq-unparse (car tail)) accum)))
       (backq-append
-       (mapcar #'(lambda (el) (backq-unparse el t))
+       (mapcar #'(lambda (el)
+		   (car (backq-unparse el t)))
 	       (cdr form)))
       (backq-nconc
        (mapcar #'(lambda (el) (backq-unparse el :nconc))
diff --git a/tests/issues.lisp b/tests/issues.lisp
index 4cb8f20f7c3a8bccca1e97cd610fdf11151de567..01db16b3ebc3717c778425ce403864f46be60daf 100644
--- a/tests/issues.lisp
+++ b/tests/issues.lisp
@@ -434,4 +434,12 @@
 			    "./"
 			    test-dir-name
 			    "ls-link")))))
-					       
+
+(define-test issue.47
+  (:tag :issues)
+  (with-standard-io-syntax
+    (assert-equal "`(,@VARS ,@VARS)"
+		  (with-output-to-string (s)
+		    (write (read-from-string "`(,@vars ,@vars)")
+			   :pretty t
+			   :stream s)))))