diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm
index cd2e974..120f3f2 100644
*** a/src/test/perl/PostgresNode.pm
--- b/src/test/perl/PostgresNode.pm
*************** sub stop
*** 662,667 ****
--- 662,668 ----
  	my $pgdata = $self->data_dir;
  	my $name   = $self->name;
  	$mode = 'fast' unless defined $mode;
+ 	return unless defined $self->{_pid};
  	print "### Stopping node \"$name\" using mode $mode\n";
  	TestLib::system_log('pg_ctl', '-D', $pgdata, '-m', $mode, 'stop');
  	$self->{_pid} = undef;
*************** sub get_new_node
*** 883,896 ****
  	return $node;
  }
  
! # Attempt automatic cleanup
! sub DESTROY
  {
! 	my $self = shift;
! 	my $name = $self->name;
! 	return unless defined $self->{_pid};
! 	print "### Signalling QUIT to $self->{_pid} for node \"$name\"\n";
! 	TestLib::system_log('pg_ctl', 'kill', 'QUIT', $self->{_pid});
  }
  
  =pod
--- 884,896 ----
  	return $node;
  }
  
! # Attempt automatic cleanup of all created nodes
! sub END
  {
! 	foreach my $node (@all_nodes)
! 	{
! 		$node->teardown_node;
! 	}
  }
  
  =pod
