diff --git a/src/java/org/apache/fulcrum/yaafi/cli/Main.java b/src/java/org/apache/fulcrum/yaafi/cli/Main.java
index ccdc800..4ed62dd 100644
--- a/src/java/org/apache/fulcrum/yaafi/cli/Main.java
+++ b/src/java/org/apache/fulcrum/yaafi/cli/Main.java
@@ -106,7 +106,7 @@
         this.applicationHome        = ".";
         this.tempHome               = System.getProperty("java.io.tmpdir",".");
         this.applicationName        = "main";
-        this.args                   = ( args != null ? args : new String[0] );
+        this.args                   = ( this.args != null ? this.args : new String[0] );
         this.isBlocking             = false;
         this.hasShutdownHook        = true;
         this.isInitialized          = false;
diff --git a/src/java/org/apache/fulcrum/yaafi/service/baseservice/BaseServiceImpl.java b/src/java/org/apache/fulcrum/yaafi/service/baseservice/BaseServiceImpl.java
index e2ebc6c..ce9945f 100644
--- a/src/java/org/apache/fulcrum/yaafi/service/baseservice/BaseServiceImpl.java
+++ b/src/java/org/apache/fulcrum/yaafi/service/baseservice/BaseServiceImpl.java
@@ -232,7 +232,10 @@
      */
     protected void release(Object object)
     {
-        this.release(object);
+    	if ( object != null )
+    	{
+    		object = null;
+    	}
     }
 
     /**
diff --git a/src/test/org/apache/fulcrum/yaafi/TestComponentTest.java b/src/test/org/apache/fulcrum/yaafi/TestComponentTest.java
index 84d364d..a48c712 100644
--- a/src/test/org/apache/fulcrum/yaafi/TestComponentTest.java
+++ b/src/test/org/apache/fulcrum/yaafi/TestComponentTest.java
@@ -57,8 +57,9 @@
         assertNotNull( testComponent.getUrnAvalonName() );
         assertNotNull( testComponent.getUrnAvalonPartition() );
 
-        Object [] temp = new Object[10];
-        System.out.println(temp.toString());
+        // Not sure what this code was for, but causing a findbugs error
+        //Object [] temp = new Object[10];
+        //System.out.println(temp.toString());
 
         try
         {
