diff --git a/prepare-selection.sh b/prepare-selection.sh
index 5f8ac3cc43aa48bdc6c992bf66a7ac12781665a4..43997845c5b944dfc97dbcd7315614ed633adbf6 100755
--- a/prepare-selection.sh
+++ b/prepare-selection.sh
@@ -25,7 +25,7 @@ perl sohpc-assign.pl slots.csv weights-pref.csv  students.csv project-preference
 
 # apply tentative selections
 if true ; then
-	sed -n -e '1aID,selected' -e 's/\([0-9\.]\{4,\}\)[: ]\{1,\}\([0-9]\{1,\}\).*/-\2,\1/p' select-by-pref.txt > assign-t.csv
+	sed -n -e '1aID,selected' -e 's/\([0-9\.]\{4,\}\)[: ]\{1,\}\([1-9][0-9]\{0,\}\).*/-\2,\1/p' select-by-pref.txt > assign-t.csv
 	rm -rf Selection
 	mkdir Selection
 	cd Selection
diff --git a/sohpc-assign.pl b/sohpc-assign.pl
index 0cb3f29090245aa13e22726efe57b0a156c70e74..3555961e2d3a3573ee02a21410c2e8dea8332bfe 100755
--- a/sohpc-assign.pl
+++ b/sohpc-assign.pl
@@ -147,6 +147,7 @@ while (@todo) {
 		next if defined $project2student{$p}{$slot};
 		foreach $c (@{$project{$p}{cand}}) {
 			next if defined $student2project{$c->{student}};
+			next unless $c->{value} > 0;
 			push @cand, {project => $p, slot => $slot, student => $c, value => $c->{value} + max_score({%project2student, $p => {%{$project2student{$p}}, $slot => $c->{student}}}, {%student2project, $c->{student} => $p})};
 		}
 	}