diff --git a/src/org/thoughtcrime/securesms/RegistrationActivity.java b/src/org/thoughtcrime/securesms/RegistrationActivity.java
index d7b80945de..52127332a4 100644
--- a/src/org/thoughtcrime/securesms/RegistrationActivity.java
+++ b/src/org/thoughtcrime/securesms/RegistrationActivity.java
@@ -1,9 +1,11 @@
 package org.thoughtcrime.securesms;
 
 import android.app.AlertDialog;
+import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
+import android.telephony.TelephonyManager;
 import android.text.Editable;
 import android.text.TextWatcher;
 import android.util.Log;
@@ -104,17 +106,23 @@ public class RegistrationActivity extends SherlockActivity {
   }
 
   private void initializeNumber() {
-    String localNumber = org.whispersystems.textsecure.util.Util.getDeviceE164Number(this);
+    PhoneNumberUtil numberUtil  = PhoneNumberUtil.getInstance();
+    String          localNumber = org.whispersystems.textsecure.util.Util.getDeviceE164Number(this);
 
     try {
       if (!Util.isEmpty(localNumber)) {
-        PhoneNumberUtil numberUtil                = PhoneNumberUtil.getInstance();
         Phonenumber.PhoneNumber localNumberObject = numberUtil.parse(localNumber, null);
 
         if (localNumberObject != null) {
           this.countryCode.setText(localNumberObject.getCountryCode()+"");
           this.number.setText(localNumberObject.getNationalNumber()+"");
         }
+      } else {
+        String simCountryIso = ((TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE)).getSimCountryIso();
+
+        if (!Util.isEmpty(simCountryIso)) {
+          this.countryCode.setText(numberUtil.getCountryCodeForRegion(simCountryIso.toUpperCase())+"");
+        }
       }
     } catch (NumberParseException npe) {
       Log.w("CreateAccountActivity", npe);