diff --git a/chaincode/controller/bid/bid_controller.go b/chaincode/controller/bid/bid_controller.go
index 91d183e42804af887b46fa35151a5c9384dcdf7a..c6a19ef80489404a2cd258b8adfda659e7eef201 100644
--- a/chaincode/controller/bid/bid_controller.go
+++ b/chaincode/controller/bid/bid_controller.go
@@ -57,6 +57,7 @@ var (
 	errChildrenMissmatch    = errors.New("number of requested childs and proposed id count mismatch")
 	errBidirectionalLink	= errors.New("failed to bidirectonally link base asset on current transaction")
 	errInvalidBidQuantity   = errors.New("bid quantity is greater than the available quantity")
+	errInvalidBidder   		= errors.New("bidder has no registered bid")
 )
 
 // constructor like function
@@ -192,10 +193,10 @@ func (c BidDecisionController) bidResponse(stub shared.LedgerBuildrStubInterface
 		return nil, nil, err
 	}
 
-	var selectedBid Bid
+	var selectedBid *Bid = nil
 	for i, bid := range auxArr {
         if bid.Bidder.Id == bidDecisionParams.Bidder  {
-			selectedBid = bid
+			selectedBid = &bid
 			if acceptBid {
 				auxArr[i].Status = Accepted
 			} else {
@@ -205,10 +206,14 @@ func (c BidDecisionController) bidResponse(stub shared.LedgerBuildrStubInterface
         }
     }
 
+	if selectedBid == nil {
+		return nil, nil, errInvalidBidder
+	}
+
 	biddableAsset.Add("bids", auxArr)
 	biddableAsset.MarkModification(stub)
 
-	return biddableAsset, &selectedBid, nil
+	return biddableAsset, selectedBid, nil
 }
 
 func (c BidDecisionController) RejectBid(stub shared.LedgerBuildrStubInterface, params shared.LedgerBuildrAsset) protos.Response {