diff --git a/libio/ChangeLog b/libio/ChangeLog
index f4632e397e0e037572663188f385017b8dc02c80..b15bc38955d6b82dd58a36d0196972c2a6c62a67 100644
--- a/libio/ChangeLog
+++ b/libio/ChangeLog
@@ -1,3 +1,10 @@
+2000-01-28  Martin v. Löwis  <loewis@informatik.hu-berlin.de>
+
+	* fstream.h (ifstream::ifstream): Add ios::in to mode.
+	(ifstream::open): Likewise.
+	(ofstream::ofstream): Add ios::out to mode.
+	(ofstream::open): Likewise.
+
 2000-01-27  Zack Weinberg  <zack@wolery.cumb.org>
 
 	* dbz/dbz.c, dbz/dbzmain.c: Include stdlib.h.  Don't declare
diff --git a/libio/fstream.h b/libio/fstream.h
index ea98f5caed054b9a6af7c6e1906d712638be2ebb..b5f6598538f211471c4c6864a2f541e26767ce96 100644
--- a/libio/fstream.h
+++ b/libio/fstream.h
@@ -1,5 +1,5 @@
 /* This is part of libio/iostream, providing -*- C++ -*- input/output.
-Copyright (C) 1993 Free Software Foundation
+Copyright (C) 1993, 2000 Free Software Foundation
 
 This file is part of the GNU IO Library.  This library is free
 software; you can redistribute it and/or modify it under the
@@ -62,9 +62,9 @@ class ifstream : public fstreambase, public istream {
     ifstream(int fd) : fstreambase(fd) { }
     ifstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
     ifstream(const char *name, int mode=ios::in, int prot=0664)
-	: fstreambase(name, mode, prot) { }
+	: fstreambase(name, mode | ios::in, prot) { }
     void open(const char *name, int mode=ios::in, int prot=0664)
-	{ fstreambase::open(name, mode, prot); }
+	{ fstreambase::open(name, mode | ios::in, prot); }
 };
 
 class ofstream : public fstreambase, public ostream {
@@ -73,9 +73,9 @@ class ofstream : public fstreambase, public ostream {
     ofstream(int fd) : fstreambase(fd) { }
     ofstream(int fd, char *p, int l) : fstreambase(fd, p, l) { } /*Deprecated*/
     ofstream(const char *name, int mode=ios::out, int prot=0664)
-	: fstreambase(name, mode, prot) { }
+	: fstreambase(name, mode | ios::out, prot) { }
     void open(const char *name, int mode=ios::out, int prot=0664)
-	{ fstreambase::open(name, mode, prot); }
+	{ fstreambase::open(name, mode | ios::out, prot); }
 };
 
 class fstream : public fstreambase, public iostream {