diff -r -u mantis-120rc2-original/mantisbt-1.2.0rc2/bug_report_page.php mantis-120rc2-gtz/mantisbt-1.2.0rc2/bug_report_page.php
--- mantis-120rc2-original/mantisbt-1.2.0rc2/bug_report_page.php	2010-01-12 15:55:59.485813285 +0300
+++ mantis-120rc2-gtz/mantisbt-1.2.0rc2/bug_report_page.php	2010-01-12 16:22:07.008339052 +0300
@@ -170,6 +170,25 @@
 <?php
 	event_signal( 'EVENT_REPORT_BUG_FORM_TOP', array( $t_project_id ) );
 
+	$t_related_custom_field_ids = custom_field_get_linked_ids( $t_project_id , CUSTOM_FIELD_SEQUENCE_TOP);
+
+	foreach( $t_related_custom_field_ids as $t_id ) {
+		$t_def = custom_field_get_definition( $t_id );
+		if( ( $t_def['display_report'] || $t_def['require_report']) && custom_field_has_write_access_to_project( $t_id, $t_project_id ) ) {
+			$t_custom_fields_found = true;
+?>
+	<tr <?php echo helper_alternate_class() ?>>
+		<td class="category">
+			<?php if($t_def['require_report']) {?><span class="required">*</span><?php } echo string_display( lang_get_defaulted( $t_def['name'] ) ) ?>
+		</td>
+		<td>
+			<?php print_custom_field_input( $t_def, ( $f_master_bug_id === 0 ) ? null : $f_master_bug_id ) ?>
+		</td>
+	</tr>
+<?php
+		}
+	} # foreach( $t_related_custom_field_ids as $t_id )
+	
 	if ( $tpl_show_category ) {
 ?>
 	<tr <?php echo helper_alternate_class() ?>>
@@ -437,8 +456,7 @@
 <?php
 	}
 
-	$t_custom_fields_found = false;
-	$t_related_custom_field_ids = custom_field_get_linked_ids( $t_project_id );
+	$t_related_custom_field_ids = custom_field_get_linked_ids( $t_project_id , CUSTOM_FIELD_SEQUENCE_BOTTOM);
 
 	foreach( $t_related_custom_field_ids as $t_id ) {
 		$t_def = custom_field_get_definition( $t_id );
diff -r -u mantis-120rc2-original/mantisbt-1.2.0rc2/core/custom_field_api.php mantis-120rc2-gtz/mantisbt-1.2.0rc2/core/custom_field_api.php
--- mantis-120rc2-original/mantisbt-1.2.0rc2/core/custom_field_api.php	2010-01-12 15:55:59.555807656 +0300
+++ mantis-120rc2-gtz/mantisbt-1.2.0rc2/core/custom_field_api.php	2010-01-12 16:22:25.998306841 +0300
@@ -792,18 +792,23 @@
 	return $row['id'];
 }
 
+define( 'CUSTOM_FIELD_SEQUENCE_ALL' , 0);  # retrive all custom fields
+define( 'CUSTOM_FIELD_SEQUENCE_TOP', 1);   # retrive custom fields to show on top (negative IDs)
+define( 'CUSTOM_FIELD_SEQUENCE_BOTTOM', 2);  # retrive custom fields to show on top (non-negative IDs)
+
 /**
  * Return an array of ids of custom fields bound to the specified project
  *
- * The ids will be sorted based on the sequence number associated with the binding
+ * If a p_project_id is given, the ids will be sorted based on the sequence number associated with the binding.
  * @param int $p_project_id project id
+ * @param int $p_sequence on of the CUSTOM_FIELD_SEQUENCE constants
  * @return array
  * @access public
  */
-function custom_field_get_linked_ids( $p_project_id = ALL_PROJECTS ) {
+function custom_field_get_linked_ids( $p_project_id = ALL_PROJECTS , $p_sequence = CUSTOM_FIELD_SEQUENCE_ALL) {
 	global $g_cache_cf_linked, $g_cache_custom_field;
 
-	if( !isset( $g_cache_cf_linked[$p_project_id] ) ) {
+	if( !isset( $g_cache_cf_linked[$p_project_id] ) or $p_sequence <> CUSTOM_FIELD_SEQUENCE_ALL ) {
 
 		$t_custom_field_table = db_get_table( 'mantis_custom_field_table' );
 		$t_custom_field_project_table = db_get_table( 'mantis_custom_field_project_table' );
@@ -848,10 +853,16 @@
 			} else {
 				$t_project_clause = '= ' . $p_project_id;
 			}
+			
+			$sequence_filters = 
+				array( CUSTOM_FIELD_SEQUENCE_ALL => "",
+						CUSTOM_FIELD_SEQUENCE_TOP => "AND sequence <0 ",
+						CUSTOM_FIELD_SEQUENCE_BOTTOM => "AND sequence >= 0" );
+			$sequence_filter = $sequence_filters[$p_sequence];
 			$query = "SELECT cft.id
 					  FROM $t_custom_field_table cft, $t_custom_field_project_table cfpt
 					  WHERE cfpt.project_id $t_project_clause AND
-							cft.id = cfpt.field_id
+							cft.id = cfpt.field_id $sequence_filter
 					  ORDER BY sequence ASC, name ASC";
 		}
 		$result = db_query( $query );
@@ -863,8 +874,8 @@
 			array_push( $t_ids, $row['id'] );
 		}
 		custom_field_cache_array_rows( $t_ids );
-
-		$g_cache_cf_linked[$p_project_id] = $t_ids;
+ 		if ( $p_sequence == CUSTOM_FIELD_SEQUENCE_ALL ) # cache only the full list
+			$g_cache_cf_linked[$p_project_id] = $t_ids;
 	} else {
 		$t_ids = $g_cache_cf_linked[$p_project_id];
 	}
diff -r -u mantis-120rc2-original/mantisbt-1.2.0rc2/lang/strings_english.txt mantis-120rc2-gtz/mantisbt-1.2.0rc2/lang/strings_english.txt
--- mantis-120rc2-original/mantisbt-1.2.0rc2/lang/strings_english.txt	2010-01-12 15:55:59.835807912 +0300
+++ mantis-120rc2-gtz/mantisbt-1.2.0rc2/lang/strings_english.txt	2010-01-12 15:33:56.105853400 +0300
@@ -1290,6 +1290,7 @@
 $s_linked_projects = 'Linked Projects';
 
 $s_custom_field_sequence = 'Sequence';
+$s_custom_field_sequence_help = 'Use negative numbers to display before on top of the report.';
 $s_custom_field_type_enum_string = '0:String,1:Numeric,2:Float,3:Enumeration,4:E-mail,5:Checkbox,6:List,7:Multiselection list,8:Date,9:Radio';
 
 $s_confirm_used_custom_field_deletion = 'This field is currently linked to at least one project. If you continue all values for this field will be permanently deleted. This action cannot be undone. If you do not want to delete this field, hit the Back button in your browser. To proceed, click the button below';
diff -r -u mantis-120rc2-original/mantisbt-1.2.0rc2/manage_custom_field_edit_page.php mantis-120rc2-gtz/mantisbt-1.2.0rc2/manage_custom_field_edit_page.php
--- mantis-120rc2-original/mantisbt-1.2.0rc2/manage_custom_field_edit_page.php	2010-01-12 15:55:59.505814500 +0300
+++ mantis-120rc2-gtz/mantisbt-1.2.0rc2/manage_custom_field_edit_page.php	2010-01-12 15:34:51.127655751 +0300
@@ -271,7 +271,8 @@
 		<?php echo lang_get( 'custom_field_sequence' ) ?>:
 	</td>
 	<td>
-		<input type="text" name="sequence" value="0" />
+		<input type="text" name="sequence" value="0" /> <br />
+		<?php echo lang_get( 'custom_field_sequence_help' ) ?>
 	</td>
 </tr>
 
