diff --git a/omega_tools.module b/omega_tools.module
index 0e10e85..0fe1fcc 100644
--- a/omega_tools.module
+++ b/omega_tools.module
@@ -344,12 +344,26 @@ function omega_tools_replace_contents($file, $search, $replace) {
 /**
  * @todo
  */
-function omega_tools_build_info_file($array, $prefix = FALSE) {
+function omega_tools_build_info_file($array, $prefix = FALSE, $is_top_level = TRUE) {
   $info = '';
 
+  if ($is_top_level) {
+    foreach (array('name', 'version', 'datestamp', 'description', 'package', 'core', 'project', 'engine', 'screenshot', 'base theme') as $top_level_setting) {
+      if (isset($array[$top_level_setting])) {
+        $info .= $prefix ? ("{$prefix}[" . $top_level_setting .']') : $top_level_setting;
+        $info .= " = '" . str_replace("'", "\'", $array[$top_level_setting]) . "'\n";
+
+        unset($array[$top_level_setting]);
+      }
+    }
+    $info .= "\n\n";
+  }
+
+  ksort($array);
+
   foreach ($array as $key => $value) {
     if (is_array($value)) {
-      $info .= omega_tools_build_info_file($value, (!$prefix ? $key : "{$prefix}[{$key}]"));
+      $info .= omega_tools_build_info_file($value, (!$prefix ? $key : "{$prefix}[{$key}]"), FALSE);
     }
     else {
       $info .= $prefix ? ("{$prefix}[" . $key .']') : $key;
