diff --git a/src/utils/bedFile/bedFile.cpp b/src/utils/bedFile/bedFile.cpp
index 2d6104d9b7ee72a46780651960a13d1029ace71c..c43969c34cfbfef8b5567a086c533f1b0c3fd6b8 100644
--- a/src/utils/bedFile/bedFile.cpp
+++ b/src/utils/bedFile/bedFile.cpp
@@ -135,7 +135,7 @@ void BedFile::Open(void) {
     else {
         _bedStream = new ifstream(bedFile.c_str(), ios::in);
         
-        if(bedFile.substr(bedFile.find_last_of(".") + 1) == "gz") {
+        if( isGzipFile(_bedStream) ) {
             delete _bedStream;
             _bedStream = new igzstream(bedFile.c_str(), ios::in);
         }
diff --git a/src/utils/bedFilePE/bedFilePE.cpp b/src/utils/bedFilePE/bedFilePE.cpp
index 08f8a4565e2e9b2ae63206f4b20e440c7df9d366..19ab2b1af023ae3a032ce35239c53086fab29097 100644
--- a/src/utils/bedFilePE/bedFilePE.cpp
+++ b/src/utils/bedFilePE/bedFilePE.cpp
@@ -35,10 +35,6 @@ void BedFilePE::Open(void) {
             delete _bedStream;
             _bedStream = new igzstream(bedFile.c_str(), ios::in);
         }
-        
-        // bytes were consumed.  rewind.
-        _bedStream->seekg(0);
-        
         // can we open the file?
         if ( !(_bedStream->good()) ) {
             cerr << "Error: The requested bed file (" << bedFile << ") could not be opened. Exiting!" << endl;
@@ -48,6 +44,7 @@ void BedFilePE::Open(void) {
 }
 
 
+
 // Close the BEDPE file
 void BedFilePE::Close(void) {
     if (bedFile != "stdin") delete _bedStream;
diff --git a/src/utils/bedGraphFile/bedGraphFile.cpp b/src/utils/bedGraphFile/bedGraphFile.cpp
index d9e618f72e6bec5804402753dc68a6953e0c708f..f3df54026f55a23d7ef3249d265b70e4736d3293 100644
--- a/src/utils/bedGraphFile/bedGraphFile.cpp
+++ b/src/utils/bedGraphFile/bedGraphFile.cpp
@@ -37,10 +37,6 @@ void BedGraphFile::Open() {
             delete _bedGraphStream;
             _bedGraphStream = new igzstream(bedGraphFile.c_str(), ios::in);
         }
-        
-        // bytes were consumed.  rewind.
-        _bedGraphStream->seekg(0);
-        
         // can we open the file?
         if ( !(_bedGraphStream->good()) ) {
             cerr << "Error: The requested bed file (" << bedGraphFile << ") could not be opened. Exiting!" << endl;