diff --git a/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/marshaller/SerializableMarshaller.java b/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/marshaller/SerializableMarshaller.java
index 344a2f6..e87c426 100644
--- a/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/marshaller/SerializableMarshaller.java
+++ b/lightning-core/src/main/java/org/apache/directmemory/lightning/internal/marshaller/SerializableMarshaller.java
@@ -53,6 +53,7 @@
         byte[] data = stream.toByteArray();
         target.writeInt( data.length );
         target.writeBytes( data );
+        oos.close();
     }
 
     @Override
@@ -61,18 +62,22 @@
                              SerializationContext serializationContext )
         throws IOException
     {
+        int length = source.readInt();
+        byte[] data = new byte[length];
+        source.readBytes( data );
+        ByteArrayInputStream stream = new ByteArrayInputStream( data );
+        ObjectInputStream ois = new ObjectInputStream( stream );
         try
         {
-            int length = source.readInt();
-            byte[] data = new byte[length];
-            source.readBytes( data );
-            ByteArrayInputStream stream = new ByteArrayInputStream( data );
-            ObjectInputStream ois = new ObjectInputStream( stream );
             return (V) ois.readObject();
         }
         catch ( ClassNotFoundException e )
         {
             throw new IOException( "Error while deserialization", e );
         }
+        finally
+        {
+            ois.close();
+        }
     }
 }
diff --git a/lightning-maven-plugin/src/main/java/org/apache/directmemory/lightning/maven/SupportUtil.java b/lightning-maven-plugin/src/main/java/org/apache/directmemory/lightning/maven/SupportUtil.java
index f6cd05f..83b4c58 100644
--- a/lightning-maven-plugin/src/main/java/org/apache/directmemory/lightning/maven/SupportUtil.java
+++ b/lightning-maven-plugin/src/main/java/org/apache/directmemory/lightning/maven/SupportUtil.java
@@ -61,6 +61,7 @@
             {
                 sb.append( line );
             }
+            reader.close();
             return sb.toString();
         }
         catch ( IOException e )
