Index: issm/trunk/src/c/objects/Loads/Riftfront.cpp
===================================================================
--- issm/trunk/src/c/objects/Loads/Riftfront.cpp	(revision 5940)
+++ issm/trunk/src/c/objects/Loads/Riftfront.cpp	(revision 5941)
@@ -35,4 +35,7 @@
 	this->helements=NULL;
 	this->hmatpar=NULL;
+	this->nodes=NULL;
+	this->elements=NULL;
+	this->matpar=NULL;
 }
 /*}}}*/
@@ -72,4 +75,5 @@
 	riftfront_matpar_id=iomodel->numberofelements+1; //matlab indexing
 
+	/*Hooks: */
 	this->hnodes=new Hook(riftfront_node_ids,2);
 	this->helements=new Hook(riftfront_elem_ids,2);
@@ -103,6 +107,9 @@
 	this->inputs->AddInput(new BoolInput(SegmentOnIceShelfEnum,riftfront_shelf));
 	
-	//this->parameters: we still can't point to it, it may not even exist. Configure will handle this.
+	//parameters and hooked fields: we still can't point to them, they may not even exist. Configure will handle this.
 	this->parameters=NULL;
+	this->nodes= NULL;
+	this->elements= NULL;
+	this->matpar= NULL;
 		
 }
@@ -266,4 +273,9 @@
 	helements=new Hook(); helements->Demarshall(&marshalled_dataset);
 	hmatpar=new Hook();   hmatpar->Demarshall(&marshalled_dataset);
+
+	/*pointers are garbabe, until configuration is carried out: */
+	nodes=NULL;
+	elements=NULL;
+	matpar=NULL;
 	
 	/*demarshall inputs: */
@@ -307,4 +319,9 @@
 	riftfront->helements=(Hook*)this->helements->copy();
 	riftfront->hmatpar=(Hook*)this->hmatpar->copy();
+
+	/*corresponding fields*/
+	riftfront->nodes   =(Node**)riftfront->hnodes->deliverp();
+	riftfront->elements=(Element**)riftfront->helements->deliverp();
+	riftfront->matpar  =(Matpar*)riftfront->hmatpar->delivers();
 
 	/*internal data: */
@@ -372,4 +389,9 @@
 	hmatpar->configure(materialsin);
 
+	/*Initialize hooked fields*/
+	this->nodes   =(Node**)hnodes->deliverp();
+	this->elements=(Element**)helements->deliverp();
+	this->matpar  =(Matpar*)hmatpar->delivers();
+
 	/*point parameters to real dataset: */
 	this->parameters=parametersin;
@@ -467,12 +489,6 @@
 
 	/*Objects: */
-	Element   **elements            = NULL;
-	Node      **nodes               = NULL;
 	Tria       *tria1               = NULL;
 	Tria       *tria2               = NULL;
-
-	/*Recover hook objects: */
-	elements=(Element**)helements->deliverp();
-	nodes=(Node**)hnodes->deliverp();
 
 	/*enum of element? */
@@ -564,14 +580,6 @@
 
 	/*Objects: */
-	Element   **elements            = NULL;
-	Node      **nodes               = NULL;
 	Tria       *tria1               = NULL;
 	Tria       *tria2               = NULL;
-	Matpar     *matpar              = NULL;
-
-	/*Recover hook objects: */
-	elements=(Element**)helements->deliverp();
-	nodes=(Node**)hnodes->deliverp();
-	matpar=(Matpar*)hmatpar->delivers();
 
 	/*enum of element? */
@@ -668,14 +676,7 @@
 	double      fractionincrement;
 
-
 	/*Objects: */
-	Element   **elements        = NULL;
-	Node      **nodes           = NULL;
 	Tria       *tria1           = NULL;
 	Tria       *tria2           = NULL;
-
-	/*Recover hook objects: */
-	elements=(Element**)helements->deliverp();
-	nodes=(Node**)hnodes->deliverp();
 
 	/*enum of element? */
@@ -784,12 +785,6 @@
 
 	/*Objects: */
-	Element   **elements        = NULL;
-	Node      **nodes           = NULL;
 	Tria       *tria1           = NULL;
 	Tria       *tria2           = NULL;
-
-	/*Recover hook objects: */
-	elements=(Element**)helements->deliverp();
-	nodes=(Node**)hnodes->deliverp();
 
 	/*enum of element? */
@@ -849,12 +844,6 @@
 
 	/*Objects: */
-	Element **elements    = NULL;
-	Node    **nodes       = NULL;
 	Tria     *tria1       = NULL;
 	Tria     *tria2       = NULL;
-
-	/*Recover hook objects: */
-	elements=(Element**)helements->deliverp();
-	nodes=(Node**)hnodes->deliverp();
 
 	/*enum of element? */
@@ -897,14 +886,7 @@
 	double      vy2;
 
-
 	/*Objects: */
-	Element   **elements        = NULL;
-	Node      **nodes           = NULL;
 	Tria       *tria1           = NULL;
 	Tria       *tria2           = NULL;
-
-	/*Recover hook objects: */
-	elements=(Element**)helements->deliverp();
-	nodes=(Node**)hnodes->deliverp();
 
 	/*enum of element? */
@@ -953,14 +935,7 @@
 	double      vy2;
 
-
 	/*Objects: */
-	Element   **elements    = NULL;
-	Node      **nodes       = NULL;
 	Tria       *tria1       = NULL;
 	Tria       *tria2       = NULL;
-
-	/*Recover hook objects: */
-	elements=(Element**)helements->deliverp();
-	nodes=(Node**)hnodes->deliverp();
 
 	/*enum of element? */
Index: issm/trunk/src/c/objects/Loads/Riftfront.h
===================================================================
--- issm/trunk/src/c/objects/Loads/Riftfront.h	(revision 5940)
+++ issm/trunk/src/c/objects/Loads/Riftfront.h	(revision 5941)
@@ -21,8 +21,14 @@
 		int     analysis_type;
 
-		Hook* hnodes; //2 nodes
-		Hook* helements; //2 elements
+		/*hooks: */
+		Hook* hnodes;
+		Hook* helements;
 		Hook* hmatpar;
 		
+		/*Corresponding fields*/
+		Matpar   *matpar;
+		Node    **nodes;
+		Element **elements;
+
 		/*computational: */
 		int      penalty_lock;
