diff --git a/asdf.lisp b/asdf.lisp
index 7143e660de47e5b32d039b56d7d1e26a59406532..f140c43319a275c6d9e29c2f0097031056aff212 100644
--- a/asdf.lisp
+++ b/asdf.lisp
@@ -1,4 +1,4 @@
-;;; This is asdf: Another System Definition Facility.  $Revision: 1.97 $
+;;; This is asdf: Another System Definition Facility.  $Revision: 1.98 $
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome: please mail to
 ;;; <cclan-list@lists.sf.net>.  But note first that the canonical
@@ -109,7 +109,7 @@
 
 (in-package #:asdf)
 
-(defvar *asdf-revision* (let* ((v "$Revision: 1.97 $")
+(defvar *asdf-revision* (let* ((v "$Revision: 1.98 $")
 			       (colon (or (position #\: v) -1))
 			       (dot (position #\. v)))
 			  (and v colon dot 
@@ -828,7 +828,8 @@ system."))
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;; invoking operations
 
-(defun operate (operation-class system &rest args &key (verbose t) version)
+(defun operate (operation-class system &rest args &key (verbose t) version 
+                                &allow-other-keys)
   (let* ((op (apply #'make-instance operation-class
 		    :original-initargs args
 		    args))
diff --git a/test/test-force.asd b/test/test-force.asd
new file mode 100644
index 0000000000000000000000000000000000000000..07d12b0c72bb4acd4c89c3b34569b979c7e74a06
--- /dev/null
+++ b/test/test-force.asd
@@ -0,0 +1,5 @@
+;;; -*- Lisp -*-
+(asdf:defsystem test-force
+  :components
+  ((:file "file1")))
+
diff --git a/test/test-force.script b/test/test-force.script
new file mode 100644
index 0000000000000000000000000000000000000000..a04afe1afb8de6ebf8d3ee80e0a0d23da84c9973
--- /dev/null
+++ b/test/test-force.script
@@ -0,0 +1,16 @@
+;;; -*- Lisp -*-
+(load "../asdf")
+(setf asdf:*central-registry* '(*default-pathname-defaults*))
+
+(asdf:operate 'asdf:load-op 'test-force)
+(defvar file1-date (file-write-date (compile-file-pathname "file1")))
+
+;; unforced, date should stay same
+(sleep 1)
+(asdf:operate 'asdf:load-op 'test-force)
+(assert (= (file-write-date (compile-file-pathname "file1")) file1-date))
+
+;; forced, it should be later
+(sleep 1)
+(asdf:operate 'asdf:load-op 'test-force :force t)
+(assert (> (file-write-date (compile-file-pathname "file1")) file1-date))