diff --git a/PCLib/PCProjectBuilder.h b/PCLib/PCProjectBuilder.h
index 3d04359..1019012 100644
--- a/PCLib/PCProjectBuilder.h
+++ b/PCLib/PCProjectBuilder.h
@@ -87,8 +87,7 @@
 - (void) logStdOut: (NSNotification *)aNotif;
 - (void) logErrOut: (NSNotification *)aNotif;
 
-- (void) buildDidTerminate: (NSNotification *)aNotif;
-//- (void) buildDidTerminate: (int)status;
+- (void) buildDidTerminate;
 
 - (void) copyPackageTo: (NSString *)path;
 
diff --git a/PCLib/PCProjectBuilder.m b/PCLib/PCProjectBuilder.m
index 697aa35..29a2a28 100644
--- a/PCLib/PCProjectBuilder.m
+++ b/PCLib/PCProjectBuilder.m
@@ -571,11 +571,9 @@
 
   // Prepearing to building
   logPipe = [NSPipe pipe];
-//  readHandle = [[logPipe fileHandleForReading] retain];
   readHandle = [logPipe fileHandleForReading];
 
   errorPipe = [NSPipe pipe];
-//  errorReadHandle = [[errorPipe fileHandleForReading] retain];
   errorReadHandle = [errorPipe fileHandleForReading];
 
   [readHandle waitForDataInBackgroundAndNotify];
@@ -607,75 +605,68 @@
                            toTarget: self
                          withObject: data];
 
-  [NOTIFICATION_CENTER addObserver: self
-                          selector: @selector (buildDidTerminate:)
-			      name: NSTaskDidTerminateNotification
-			    object: makeTask];
-
   return;
 }
 
-- (void)buildDidTerminate:(NSNotification *)aNotif
+- (void)buildDidTerminate
 {
-  int status = [[aNotif object] terminationStatus];
+  int status = [makeTask terminationStatus];
 
-  if ([aNotif object] == makeTask)
+  [NOTIFICATION_CENTER removeObserver: self 
+                                 name: NSFileHandleDataAvailableNotification
+                               object: readHandle];
+
+  [NOTIFICATION_CENTER removeObserver: self 
+                                 name: NSFileHandleDataAvailableNotification
+                               object: errorReadHandle];
+
+  RELEASE (readHandle);
+  RELEASE (errorReadHandle);
+
+  if (status == 0)
     {
-      [NOTIFICATION_CENTER removeObserver: self 
-	                             name: NSFileHandleDataAvailableNotification
-	                           object: readHandle];
-
-      [NOTIFICATION_CENTER removeObserver: self 
-	                             name: NSFileHandleDataAvailableNotification
- 	                           object: errorReadHandle];
-
-      [NOTIFICATION_CENTER removeObserver: self 
-	                             name: NSTaskDidTerminateNotification 
-	                           object: makeTask];
-      //  RELEASE (readHandle);
-      //  RELEASE (errorReadHandle);
-
-      if (status == 0)
-	{
-	  [self logString: 
-	    [NSString stringWithFormat: @"=== %@ succeeded!", buildTarget] 
-	    error: NO
-	    newLine: NO];
-	  [buildStatusField setStringValue: [NSString stringWithFormat: @"%@ - %@ succeeded...", [currentProject projectName], buildTarget]];
-	} 
-      else
-	{
-	  [self logString: [NSString stringWithFormat: @"=== %@ terminated!", buildTarget] error: NO newLine: NO];
-	  [buildStatusField setStringValue: [NSString stringWithFormat: 
-	    @"%@ - %@ terminated...", [currentProject projectName], buildTarget]];
-	}
-
-      // Rstore buttons state
-      if ([buildTarget isEqualToString: @"Build"])
-	{
-	  [buildButton setState: NSOffState];
-	  [cleanButton setEnabled:YES];
-	  [installButton setEnabled:YES];
-	}
-      else if ([buildTarget isEqualToString: @"Clean"])
-	{
-	  [cleanButton setState: NSOffState];
-	  [buildButton setEnabled:YES];
-	  [installButton setEnabled:YES];
-	}
-      else if ([buildTarget isEqualToString: @"Install"])
-	{
-	  [installButton setState: NSOffState];
-	  [buildButton setEnabled:YES];
-	  [cleanButton setEnabled:YES];
-	}
-
-      [buildArgs removeAllObjects];
-      [buildTarget setString: @"Default"];
-
-      /*  RELEASE (makeTask);*/
-      makeTask = nil;
+      [self logString: 
+	[NSString stringWithFormat: @"=== %@ succeeded!", buildTarget] 
+	error: NO newLine: NO];
+      [buildStatusField setStringValue: 
+	[NSString stringWithFormat: 
+	@"%@ - %@ succeeded...", [currentProject projectName], buildTarget]];
+    } 
+  else
+    {
+      [self logString: 
+	[NSString stringWithFormat: @"=== %@ terminated!", buildTarget]
+	error: NO newLine: NO];
+      [buildStatusField setStringValue: 
+	[NSString stringWithFormat: 
+	@"%@ - %@ terminated...", [currentProject projectName], buildTarget]];
     }
+
+  // Rstore buttons state
+  if ([buildTarget isEqualToString: @"Build"])
+    {
+      [buildButton setState: NSOffState];
+      [cleanButton setEnabled: YES];
+      [installButton setEnabled: YES];
+    }
+  else if ([buildTarget isEqualToString: @"Clean"])
+    {
+      [cleanButton setState: NSOffState];
+      [buildButton setEnabled: YES];
+      [installButton setEnabled: YES];
+    }
+  else if ([buildTarget isEqualToString: @"Install"])
+    {
+      [installButton setState: NSOffState];
+      [buildButton setEnabled: YES];
+      [cleanButton setEnabled: YES];
+    }
+
+  [buildArgs removeAllObjects];
+  [buildTarget setString: @"Default"];
+
+  RELEASE(makeTask);
+  makeTask = nil;
 }
 
 - (void)popupChanged:(id)sender
@@ -799,6 +790,8 @@
       postProcess = NULL;
     }
 
+  [self buildDidTerminate];
+
   [pool release];
 }
 
diff --git a/PCLib/PCProjectDebugger.m b/PCLib/PCProjectDebugger.m
index 759d371..ca5576d 100644
--- a/PCLib/PCProjectDebugger.m
+++ b/PCLib/PCProjectDebugger.m
@@ -341,7 +341,6 @@ enum {
      * Clean up...
      *
      */
-    
     [NOTIFICATION_CENTER removeObserver:self 
 			 name:NSFileHandleDataAvailableNotification
 			 object:readHandle];