diff -r 40cb640ef159 -r 086aae6fc07e bearermanagement/mpm/src/mpmiapselection.cpp --- a/bearermanagement/mpm/src/mpmiapselection.cpp Thu Jan 07 12:56:54 2010 +0200 +++ b/bearermanagement/mpm/src/mpmiapselection.cpp Mon Jan 18 20:33:49 2010 +0200 @@ -505,9 +505,16 @@ ChooseBestIAPL( iChooseIapPref, availableIAPList, iNextBestExists ); TUint32 validateIapId = iChooseIapPref.IapId(); // Check if any suitable IAP's were found, if not then complete selection with error code - if (validateIapId == 0 ) + if ( validateIapId == 0 ) { - ChooseIapComplete( KErrNotFound, NULL ); + if ( iChooseIapPref.ConnType() == TMpmConnPref::EConnTypeDefault ) + { + ImplicitConnectionL(); + } + else + { + ChooseIapComplete( KErrNotFound, NULL ); + } CleanupStack::PopAndDestroy( &availableIAPList ); return; }