Index: src/BasicTypes-gen.cc
===================================================================
--- src/BasicTypes-gen.cc	(revision 62ce290a819f55fb97ac23867a84527cc416c5c4)
+++ src/BasicTypes-gen.cc	(revision 1c9568f0e5ea366b2f5bcb84dad6b74b891993d6)
@@ -1,2 +1,3 @@
+#include <algorithm>
 #include <queue>
 #include <iostream>
@@ -340,6 +341,9 @@
 	} // for
 	code << "\t}; // costMatrix" << endl;
+
+	// maximum conversion cost from int
+	code << "\tstatic const int maxIntCost = " << *max_element(costMatrix[SignedInt], costMatrix[SignedInt] + NUMBER_OF_BASIC_TYPES) << ";" << endl;
 	code << "\t";										// indentation for end marker
-
+	
 	if ( (start = str.find( ENDMK, start + 1 )) == string::npos ) Abort( "end", ConversionCost );
 	if ( (end = str.find( STARTMK, start + 1 )) == string::npos ) Abort( "start", ConversionCost );
Index: src/ResolvExpr/ConversionCost.cc
===================================================================
--- src/ResolvExpr/ConversionCost.cc	(revision 62ce290a819f55fb97ac23867a84527cc416c5c4)
+++ src/ResolvExpr/ConversionCost.cc	(revision 1c9568f0e5ea366b2f5bcb84dad6b74b891993d6)
@@ -10,6 +10,6 @@
 // Created On       : Sun May 17 07:06:19 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Apr 26 16:33:04 2019
-// Update Count     : 24
+// Last Modified On : Mon May  6 14:18:22 2019
+// Update Count     : 25
 //
 
@@ -249,4 +249,5 @@
 		/*_FLDXC*/ {  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,   0, },
 	}; // costMatrix
+	static const int maxIntCost = 15;
 	// GENERATED END
 	static_assert(
@@ -461,5 +462,6 @@
 			} // if
 		} else if ( dynamic_cast< PointerType* >( dest ) ) {
-			cost = Cost::safe;
+			cost = Cost::zero;
+			cost.incSafe( maxIntCost + 2 ); // +1 for zero_t -> int, +1 for disambiguation
 		} // if
 	}
