Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 18848)
+++ ../trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 18849)
@@ -1089,10 +1089,14 @@
 	int  migration_style;
 	parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
 
-	if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum || migration_style==ContactEnum){ //Floating if all nodes are floating
+	if(migration_style==SubelementMigrationEnum || migration_style==SubelementMigration2Enum){ //Floating if all nodes are floating
 		if(this->inputs->Max(MaskGroundediceLevelsetEnum) <= 0.) shelf=true;
 		else shelf=false;
 	}
+	else if(migration_style==ContactEnum){
+		if(this->inputs->Max(MaskGroundediceLevelsetEnum) > 0.) shelf=false;
+		else shelf=true;
+	}
 	else if(migration_style==NoneEnum || migration_style==AggressiveMigrationEnum || migration_style==SoftMigrationEnum){ //Floating if all nodes are floating
 		if(this->inputs->Min(MaskGroundediceLevelsetEnum) > 0.) shelf=false;
 		else shelf=true;
