diff --git a/asdf.asd b/asdf.asd
index c6694ef65e1b5ff1b25476d06565b39eaf82631c..39408248cf48b3cfe67893bfeeb5205f009633c2 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -75,7 +75,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "3.1.3.2" ;; to be automatically updated by make bump-version
+  :version "3.1.3.4" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   :class #.(if (find-class 'package-inferred-system nil) 'package-inferred-system 'system)
diff --git a/header.lisp b/header.lisp
index 53e2e064f934c6cb68ee2b1a83c44c1a8c6efb71..feb5ca69dee3f7a81c90bd646cc35fb8dc13cd0c 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*-
-;;; This is ASDF 3.1.3.2: Another System Definition Facility.
+;;; This is ASDF 3.1.3.4: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/operate.lisp b/operate.lisp
index 370a4eebbdf6b11e344b2ba518d48a1db2998eea..e69e249ca6f1f36abc1b3abccc1dc55570794ecf 100644
--- a/operate.lisp
+++ b/operate.lisp
@@ -59,7 +59,7 @@ The :FORCE or :FORCE-NOT argument to OPERATE can be:
              (etypecase operation
                (operation (let ((name (type-of operation))
                                 (initargs (operation-original-initargs operation)))
-                            #'(lambda () (make-operation name :original-initargs initargs initargs))))
+                            #'(lambda () (apply 'make-operation name :original-initargs initargs initargs))))
                ((or symbol string) (constantly operation))))
            (component-path (typecase component ;; to remake the component after ASDF upgrade
                              (component (component-find-path component))
diff --git a/test/test-operation-classes.script b/test/test-operation-classes.script
index 163db3d25d59f4fb4c189a2f2fdc45e6fef77149..e780f327b3630037a81b820785c109dbaa73820a 100644
--- a/test/test-operation-classes.script
+++ b/test/test-operation-classes.script
@@ -59,7 +59,7 @@
 (assert (make-instance 'my-good-operation))
 
 
-;; This test exercises the backward-compatibiMlity mechanism of operation,
+;; This test exercises the backward-compatibility mechanism of operation,
 ;; whereby traditional unqualified operations are implicitly downward and sideward
 (defclass trivial-operation (operation) ())
 
@@ -73,3 +73,6 @@
    (trivial-operation "test-asdf/test-module-depend" "quux")))
 
 (operate 'trivial-operation 'test-asdf/test-module-depend)
+;;; this test intended to catch a bug in operate :around method in operate.lisp,
+;;; thanks to Jan Moringen [2014/08/10:rpg]
+(operate (make-instance 'trivial-operation) 'test-asdf/test-module-depend)
diff --git a/upgrade.lisp b/upgrade.lisp
index 69499d02cca0af1d38e929aaf700c87f7e341f05..ce272cfb152ed4caae1c1480fe9fe7aef323b687 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -67,7 +67,7 @@ previously-loaded version of ASDF."
          ;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5.
          ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
          ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
-         (asdf-version "3.1.3.2")
+         (asdf-version "3.1.3.4")
          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
diff --git a/version.lisp-expr b/version.lisp-expr
index 0fff27f200244cc0ccd580c47b8ceffe12845396..78cbde5bfc04a5c21dd2b99ada0b690d9e28377f 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1,2 +1,2 @@
-"3.1.3.2"
+"3.1.3.4"