Regenerate the hash before checking the share diff in hashtest().
diff --git a/cgminer.c b/cgminer.c
index 3a219a1..66c792d 100644
--- a/cgminer.c
+++ b/cgminer.c
@@ -5489,6 +5489,7 @@ static int hashtest(struct thr_info *thr, struct work *work)
applog(LOG_INFO, "Share below target");
/* Check the diff of the share, even if it didn't reach the
* target, just to set the best share value if it's higher. */
+ regen_hash(work);
share_diff(work);
return 0;
}