diff --git a/lib/iconv.rb b/lib/iconv.rb
index eb51493..892abaa 100644
--- a/lib/iconv.rb
+++ b/lib/iconv.rb
@@ -13,9 +13,12 @@ class Iconv
     @to, @from = to, from
     @handle = Iconv.create to, from
     Errno.handle if @handle.address == -1
+    @closed = false
   end

   def close
+    return if @closed
+    @closed = true
     Errno.handle if Iconv.close(@handle) != 0
   end