diff --git a/modules/io/src/mol/star_writer.cc b/modules/io/src/mol/star_writer.cc
index 327d005631c6e656e1e89e954cb9446c8e78c33d..1a017e934d9778d06732661c1feffa3d7562f696 100644
--- a/modules/io/src/mol/star_writer.cc
+++ b/modules/io/src/mol/star_writer.cc
@@ -21,29 +21,29 @@
 
 namespace ost{ namespace io{
 
-StarWriter::StarWriter(std::ostream& stream): filename_("<stream>"),
-                                              file_open_(true) {
+StarWriter::StarWriter(std::ostream& stream): filename_("<stream>") {
   if(!stream) {
-    file_open_ = false;
+    std::stringstream ss;
+    ss << "Cannot open stream: [Errno " << errno << "] "
+       << strerror(errno) << std::endl;
+    throw IOException(ss.str());
   }
   stream_.push(stream);
 }
 
 
 StarWriter::StarWriter(const String& filename): filename_(filename),
-                                                file_open_(true),
                                                 fstream_(filename.c_str()) {
   if (!fstream_) {
-    file_open_ = false;
+    std::stringstream ss;
+    ss << "Cannot open " << filename_ << ": [Errno " << errno << "] "
+       << strerror(errno) << std::endl;
+    throw IOException(ss.str());
   }
   stream_.push(fstream_);
 }
 
 void StarWriter::Write(const String& data_name) {
-  if (!file_open_) {
-    throw IOException("yolo");
-  }
-
   // write data header
   stream_ << "data_" << data_name << std::endl;
 
diff --git a/modules/io/src/mol/star_writer.hh b/modules/io/src/mol/star_writer.hh
index 3ef9c64c06cbc64baad51867828acc8378caf445..41e6fbfa875a01717db79066148f7564a218e7c2 100644
--- a/modules/io/src/mol/star_writer.hh
+++ b/modules/io/src/mol/star_writer.hh
@@ -296,7 +296,6 @@ public:
   void Write(const String& data_name);
 private:
   String filename_;
-  bool file_open_;
   std::ofstream fstream_;
   boost::iostreams::filtering_stream<boost::iostreams::output> stream_;
   std::vector<StarWriterObjectPtr> categories_to_write_;