diff --git a/xos/synchronizer/migrations/0008_capital_default_bandwidth_profile.py b/xos/synchronizer/migrations/0008_capital_default_bandwidth_profile.py
new file mode 100644
index 0000000..83920e3
--- /dev/null
+++ b/xos/synchronizer/migrations/0008_capital_default_bandwidth_profile.py
@@ -0,0 +1,40 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.11 on 2019-03-14 22:35
+from __future__ import unicode_literals
+
+import core.models.xosbase_header
+from django.db import migrations, models
+import django.db.models.deletion
+import django.utils.timezone
+
+
+class Migration(migrations.Migration):
+
+    def forwards(apps, schema_editor):
+        # Capitalize the default bandwidth profile
+        bp = apps.get_model('rcord', 'BandwidthProfile')
+        default = bp.objects.get(name="default")
+        default.name = "Default"
+        default.save()
+
+    dependencies = [
+        ('rcord', '0007_auto_20190409_1904'),
+    ]
+
+    operations = [
+        migrations.RunPython(forwards),
+    ]
