--- sites/all/modules/achievement_entity/modules/achievement_issuer/achievement_issuer.module	2012-11-20 17:39:17.000000000 +0530
+++ sites/all/modules/achievement_entity/modules/achievement_issuer/achievement_issuer.module	2012-11-22 03:31:20.000000000 +0530
@@ -7,20 +7,25 @@
 include_once 'achievement_issuer.features.inc';
 
 function achievement_issuer_form_alter(&$form, &$form_state, $form_id){
- // print_r($form); die;
   if($form_id == 'achievement_entity_form' && $form['#bundle'] == 'issuer_information'){    
-  $form['#validate'][] = 'issuer_information_existance_validation'; 
-}
+		if(isset($form['actions']['delete']['#value'])){
+			unset($form['field_badge_entity_program']['und']);
+			$form['field_issuer_origin']['und'][0]['#description'] = t('Origin of the Issuer. This is the "protocol"://"host":"port" according to Open Badge Infrastructure (OBI) complaint.<br/><strong>you can not edit issuer program to edit please delete and create issuer infomation again.</strong>');
+		}		
+   $form['#validate'][] = 'issuer_information_existance_validation'; 
+  }
 }
 
-function issuer_information_existance_validation($form, &$form_state){    
-  $program_id = $form_state['values']['field_badge_entity_program']['und'][0]['tid'];  
-  $program = db_select('field_data_field_badge_entity_program', 'bp');
-  $program->condition('bp.field_badge_entity_program_tid', $program_id, '=');
-  $program->condition('bp.bundle', 'issuer_information', '=')
-           ->fields('bp', array('entity_id'));
-   $results = $program->execute()->fetchAll();    
-  
-  form_set_error(!empty($results), $message = 'Issuer information exist for this program.', $limit_validation_errors = NULL);    
- 
-}
\ No newline at end of file
+function issuer_information_existance_validation($form, &$form_state){   
+	if(!isset($form_state['achievement']->bid)){
+		$program_id = $form_state['values']['field_badge_entity_program']['und'][0]['tid'];  
+		$program = db_select('field_data_field_badge_entity_program', 'bp');
+		$program->condition('bp.field_badge_entity_program_tid', $program_id, '=');
+		$program->condition('bp.bundle', 'issuer_information', '=')
+						 ->fields('bp', array('entity_id'));
+		 $results = $program->execute()->fetchAll();    
+		if(!empty($results)){    
+					form_set_error('limit', "Issuer information exist for this program.");
+		}
+  }
+}
