diff --git a/core/includes/file.inc b/core/includes/file.inc
index 05bf6c1..f1c1595 100644
--- a/core/includes/file.inc
+++ b/core/includes/file.inc
@@ -571,6 +571,9 @@ function file_load($fid) {
 function file_save(stdClass $file) {
   $file->timestamp = REQUEST_TIME;
   $file->filesize = filesize($file->uri);
+  if (empty($file->langcode)) {
+    $file->langcode = LANGUAGE_NONE;
+  }
 
   // Load the stored entity, if any.
   if (!empty($file->fid) && !isset($file->original)) {
diff --git a/core/modules/system/system.install b/core/modules/system/system.install
index d8112e6..44a440d 100644
--- a/core/modules/system/system.install
+++ b/core/modules/system/system.install
@@ -814,6 +814,14 @@ function system_schema() {
         'not null' => TRUE,
         'default' => '',
       ),
+      'langcode' => array(
+        'description' => 'The {language}.langcode of this file.',
+        'type' => 'varchar',
+        'length' => 12,
+        'not null' => TRUE,
+        'default' => '',
+        'initial' => LANGUAGE_NONE,
+      ),
       'filemime' => array(
         'description' => "The file's MIME type.",
         'type' => 'varchar',
@@ -1666,6 +1674,23 @@ function system_update_8002() {
 }
 
 /**
+ * Adding langcode attribute to the file_managed table.
+ *
+ * @see http://drupal.org/node/1444992
+ */
+function system_update_8003() {
+  $langcode_field = array(
+    'description' => 'The {language}.langcode of this file.',
+    'type' => 'varchar',
+    'length' => 12,
+    'not null' => TRUE,
+    'default' => '',
+    'initial' => LANGUAGE_NONE,
+  );
+  db_add_field('file_managed', 'langcode', $langcode_field);
+}
+
+/**
  * @} End of "defgroup updates-7.x-to-8.x"
  * The next series of updates should start at 9000.
  */
