diff -bwircP openbiblio/classes/CircQuery.php openbiblio_new/classes/CircQuery.php
*** openbiblio/classes/CircQuery.php	Mon Jul 23 18:04:18 2012
--- openbiblio_new/classes/CircQuery.php	Fri Nov  2 10:04:19 2012
***************
*** 80,92 ****
                  $copy = $copyQ->maybeGetByBarcode($bcode);
  		if (!$copy)
  			return new Error($this->_loc->getText("Bad copy barcode: %bcode%", array('bcode'=>$bcode)));
  		if ($copy->getStatusCd() == OBIB_STATUS_OUT) {
  			if ($copy->getMbrid() == $mbrid) {
  				# Renewal
  				$reachedLimit = $copyQ->hasReachedRenewalLimit($mbrid, $mbr->getClassification(), $copy);
  				if(!$force && $reachedLimit)
  					return new Error($this->_loc->getText("Item %bcode% has reached its renewal limit.", array('bcode'=>$bcode)));
! 				else if (!$force && $copy->getDaysLate() > 0)
  					return new Error($this->_loc->getText("Item %bcode% is late and cannot be renewed.", array('bcode'=>$bcode)));
  				else
  					$copy->setRenewalCount($copy->getRenewalCount() + 1);
--- 80,93 ----
                  $copy = $copyQ->maybeGetByBarcode($bcode);
  		if (!$copy)
  			return new Error($this->_loc->getText("Bad copy barcode: %bcode%", array('bcode'=>$bcode)));
+ 		$fee2 = $copyQ->getDailyLateFee($copy);
  		if ($copy->getStatusCd() == OBIB_STATUS_OUT) {
  			if ($copy->getMbrid() == $mbrid) {
  				# Renewal
  				$reachedLimit = $copyQ->hasReachedRenewalLimit($mbrid, $mbr->getClassification(), $copy);
  				if(!$force && $reachedLimit)
  					return new Error($this->_loc->getText("Item %bcode% has reached its renewal limit.", array('bcode'=>$bcode)));
! 				else if (!$force && ($copy->getDaysLate() > 0) && ($fee2>0))
  					return new Error($this->_loc->getText("Item %bcode% is late and cannot be renewed.", array('bcode'=>$bcode)));
  				else
  					$copy->setRenewalCount($copy->getRenewalCount() + 1);
