Index: src/ResolvExpr/ConversionCost.cc
===================================================================
--- src/ResolvExpr/ConversionCost.cc	(revision aa8f9dfd89cb8d2df9f8a3892703dfc427bce64a)
+++ src/ResolvExpr/ConversionCost.cc	(revision 12bc63ab6d1bb10cdf0105eb5df31eab3153a60b)
@@ -236,5 +236,5 @@
 			std::list< Type* >::const_iterator srcIt = tupleType->get_types().begin();
 			std::list< Type* >::const_iterator destIt = destAsTuple->get_types().begin();
-			while ( srcIt != tupleType->get_types().end() ) {
+			while ( srcIt != tupleType->get_types().end() && destIt != destAsTuple->get_types().end() ) {
 				Cost newCost = conversionCost( *srcIt++, *destIt++, indexer, env );
 				if ( newCost == Cost::infinity ) {
