diff --git a/automake.in b/automake.in
index a014bd0..05e577c 100755
--- a/automake.in
+++ b/automake.in
@@ -783,7 +783,7 @@ register_language ('name' => 'vala',
 		   'Name' => 'Vala',
 		   'config_vars' => ['VALAC'],
 		   'flags' => ['VALAFLAGS'],
-		   'compile' => '$(VALAC) $(AM_VALAFLAGS) $(VALAFLAGS)',
+		   'compile' => '$(VALAC) -C $(AM_VALAFLAGS) $(VALAFLAGS)',
 		   'compiler' => 'VALACOMPILE',
 		   'extensions' => ['.vala'],
 		   'output_extensions' => sub { (my $ext1 = $_[0]) =~ s/vala$/c/;
@@ -5676,6 +5676,8 @@ sub lang_vala_finish_target ($$$)
   $output_rules .=
     "${derived}_vala.stamp: \$(${derived}_SOURCES)\n".
     "\t${compile} \$^ && touch \$@\n";
+
+  $clean_files{$derived . '_vala.stamp'} = MAINTAINER_CLEAN;
 }
 
 # This is a vala helper which is called after all source file
@@ -5686,7 +5688,7 @@ sub lang_vala_finish
 
   foreach my $prog (keys %known_programs)
     {
-      lang_vala_finish_target ($self, $prog, 0);
+      lang_vala_finish_target ($self, $prog, undef);
     }
 
   while (my ($name, $pkgname) = each %known_libraries)
