diff --git a/src/fileio.c b/src/fileio.c
index 42181e1..7bab84e 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -419,6 +419,20 @@
     }
 #endif
 
+#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+    /*
+     * MS-Windows allows opening a device, but we will probably get stuck
+     * trying to read it.
+     */
+    if (!p_odev && mch_nodetype(fname) == NODE_WRITABLE)
+    {
+	filemess(curbuf, fname, (char_u *)_("is a device (disabled with 'opendevice' option"), 0);
+	msg_end();
+	msg_scroll = msg_save;
+	return FAIL;
+    }
+#endif
+
     /* set default 'fileformat' */
     if (set_options)
     {
@@ -3163,6 +3177,16 @@
     }
     if (c == NODE_WRITABLE)
     {
+# if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+	/* MS-Windows allows opening a device, but we will probably get stuck
+	 * trying to write to it.  */
+	if (!p_odev)
+	{
+	    errnum = (char_u *)"E796: ";
+	    errmsg = (char_u *)_("writing to device disabled with 'opendevice' option");
+	    goto fail;
+	}
+# endif
 	device = TRUE;
 	newfile = TRUE;
 	perm = -1;
diff --git a/src/option.c b/src/option.c
index 1f47c60..aa8a70e 100644
--- a/src/option.c
+++ b/src/option.c
@@ -1810,6 +1810,14 @@
     {"open",	    NULL,   P_BOOL|P_VI_DEF,
 			    (char_u *)NULL, PV_NONE,
 			    {(char_u *)FALSE, (char_u *)0L}},
+    {"opendevice",  "odev", P_BOOL|P_VI_DEF,
+#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+			    (char_u *)&p_odev, PV_NONE,
+#else
+			    (char_u *)NULL, PV_NONE,
+#endif
+			    {(char_u *)FALSE, (char_u *)FALSE}
+			    },
     {"operatorfunc", "opfunc", P_STRING|P_VI_DEF|P_SECURE,
 			    (char_u *)&p_opfunc, PV_NONE,
 			    {(char_u *)"", (char_u *)0L} },
diff --git a/src/option.h b/src/option.h
index 28c5815..c322f3a 100644
--- a/src/option.h
+++ b/src/option.h
@@ -618,6 +618,9 @@
 #ifdef FEAT_MZSCHEME
 EXTERN long	p_mzq;		/* 'mzquantum */
 #endif
+#if defined(MSDOS) || defined(MSWIN) || defined(OS2)
+EXTERN int	p_odev;		/* 'opendevice' */
+#endif
 EXTERN char_u	*p_opfunc;	/* 'operatorfunc' */
 EXTERN char_u	*p_para;	/* 'paragraphs' */
 EXTERN int	p_paste;	/* 'paste' */
diff --git a/src/os_win32.c b/src/os_win32.c
index af65906..cc0b326 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -2702,6 +2702,12 @@
     HANDLE	hFile;
     int		type;
 
+    /* We can't open a file with a name "\\.\con" or "\\.\prn" and trying to
+     * read from it later will cause Vim to hang.  Thus return NODE_WRITABLE
+     * here. */
+    if (STRNCMP(name, "\\\\.\\", 4) == 0)
+	return NODE_WRITABLE;
+
     hFile = CreateFile(name,		/* file name */
 		GENERIC_WRITE,		/* access mode */
 		0,			/* share mode */
diff --git a/src/version.c b/src/version.c
index cab8d68..87f74ac 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    130,
+/**/
     129,
 /**/
     128,
