diff --git a/castor/tape/utils/SmartFILEPtr.cpp b/castor/tape/utils/SmartFILEPtr.cpp
index a61fdf23803560efa1b9a42e6ab470c52d3254c3..f7be8eaa88f148f49399cf9ae71cdd8b2a300508 100644
--- a/castor/tape/utils/SmartFILEPtr.cpp
+++ b/castor/tape/utils/SmartFILEPtr.cpp
@@ -68,7 +68,8 @@ void castor::tape::utils::SmartFILEPtr::reset(FILE *const file = NULL)
 // SmartFILEPtr assignment operator
 //-----------------------------------------------------------------------------
 castor::tape::utils::SmartFILEPtr
-  &castor::tape::utils::SmartFILEPtr::operator=(SmartFILEPtr& obj) throw() {
+  &castor::tape::utils::SmartFILEPtr::operator=(SmartFILEPtr& obj)
+  throw(castor::exception::Exception) {
   
   reset(obj.release());
 
@@ -79,7 +80,7 @@ castor::tape::utils::SmartFILEPtr
 //-----------------------------------------------------------------------------
 // destructor
 //-----------------------------------------------------------------------------
-castor::tape::utils::SmartFILEPtr::~SmartFILEPtr() {
+castor::tape::utils::SmartFILEPtr::~SmartFILEPtr() throw() {
 
   reset();
 }
diff --git a/castor/tape/utils/SmartFILEPtr.hpp b/castor/tape/utils/SmartFILEPtr.hpp
index 794b35e19b2c065b90b2d86c1b22d745383d397b..1cbfc63545eeb57b7826f003e335809d2b317c28 100644
--- a/castor/tape/utils/SmartFILEPtr.hpp
+++ b/castor/tape/utils/SmartFILEPtr.hpp
@@ -76,14 +76,15 @@ public:
    *      previous owner (obj).
    * </ul>
    */
-  SmartFILEPtr &operator=(SmartFILEPtr& obj) throw();
+  SmartFILEPtr &operator=(SmartFILEPtr& obj)
+    throw(castor::exception::Exception) ;
 
   /**
    * Destructor.
    *
    * Closes the owned FILE pointer if there is one.
    */
-  ~SmartFILEPtr();
+  ~SmartFILEPtr() throw();
 
   /**
    * Returns the owned pointer or NULL if this smart pointer does not own one.