diff --git a/commit.c b/commit.c
index 56efc69..b8bf35e 100644
--- a/commit.c
+++ b/commit.c
@@ -359,8 +359,10 @@
 	parents = commit->parents;
 	commit->object.flags &= ~mark;
 	while (parents) {
-		if (parents->item && parents->item->object.parsed)
-			clear_commit_marks(parents->item, mark);
+		struct commit *parent = parents->item;
+		if (parent && parent->object.parsed &&
+		    (parent->object.flags & mark))
+			clear_commit_marks(parent, mark);
 		parents = parents->next;
 	}
 }
diff --git a/describe.c b/describe.c
index 5548a16..cc95eb0 100644
--- a/describe.c
+++ b/describe.c
@@ -98,7 +98,7 @@
 	return (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
 }
 
-static void describe(struct commit *cmit)
+static void describe(struct commit *cmit, int last_one)
 {
 	struct commit_list *list;
 	static int initialized = 0;
@@ -124,7 +124,8 @@
 		if (n) {
 			printf("%s-g%s\n", n->path,
 			       find_unique_abbrev(cmit->object.sha1, abbrev));
-			clear_commit_marks(cmit, SEEN);
+			if (!last_one)
+				clear_commit_marks(cmit, SEEN);
 			return;
 		}
 	}
@@ -159,7 +160,7 @@
 		cmit = lookup_commit_reference(sha1);
 		if (!cmit)
 			usage(describe_usage);
-		describe(cmit);
+		describe(cmit, i == argc - 1);
 	}
 	return 0;
 }
diff --git a/diffcore.h b/diffcore.h
index a38acb1..12cd816 100644
--- a/diffcore.h
+++ b/diffcore.h
@@ -15,7 +15,7 @@
  * passed around in one int (high 16-bit for merge and low 16-bit
  * for break).
  */
-#define MAX_SCORE 60000
+#define MAX_SCORE 60000.0
 #define DEFAULT_RENAME_SCORE 30000 /* rename/copy similarity minimum (50%) */
 #define DEFAULT_BREAK_SCORE  30000 /* minimum for break to happen (50%)*/
 #define DEFAULT_MERGE_SCORE  48000 /* maximum for break-merge to happen (80%)*/
