diff --git a/lisp/server.el b/lisp/server.el
index ce19b3c..46687a3 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -1167,8 +1167,11 @@ The following commands are accepted by the client:
(let ((file (pop args-left)))
(if coding-system
(setq file (decode-coding-string file
coding-system)))
+ ;; Allow Cygwin's emacsclient to be used as a file
+ ;; handler on MS-Windows, in which case FILENAME
+ ;; might start with a drive letter.
(when (and (eq system-type 'cygwin)
- (fboundp
'cygwin-convert-file-name-from-windows))
+ (string-match "^[A-Za-z]:" file))
(setq file (cygwin-convert-file-name-from-windows
file)))
(setq file (expand-file-name file dir))
(push (cons file filepos) files)