support interoperability between Orientation preference and screen-orientation plugin
diff --git a/src/ios/YoikScreenOrientation.h b/src/ios/YoikScreenOrientation.h
index dd23599..f2d4c67 100644
--- a/src/ios/YoikScreenOrientation.h
+++ b/src/ios/YoikScreenOrientation.h
@@ -25,6 +25,7 @@
 @interface YoikScreenOrientation : CDVPlugin
 
 - (void)screenOrientation:(CDVInvokedUrlCommand *)command;
+@property (strong, nonatomic) NSArray *originalSupportedOrientations;
 
 @end
 
diff --git a/src/ios/YoikScreenOrientation.m b/src/ios/YoikScreenOrientation.m
index 9ffe8fa..3008b0c 100644
--- a/src/ios/YoikScreenOrientation.m
+++ b/src/ios/YoikScreenOrientation.m
@@ -28,9 +28,19 @@
 {
     [self.commandDelegate runInBackground:^{
 
+        if(self.originalSupportedOrientations == nil) {
+            self.originalSupportedOrientations = [self.viewController valueForKey:@"supportedOrientations"];
+        }
+
         NSArray* arguments = command.arguments;
         NSString* orientationIn = [arguments objectAtIndex:1];
 
+        if ([orientationIn isEqual: @"unlocked"]) {
+            [(CDVViewController*)self.viewController updateSupportedOrientations:self.originalSupportedOrientations];
+            self.originalSupportedOrientations = nil;
+            return;
+        }
+        
         // grab the device orientation so we can pass it back to the js side.
         NSString *orientation;
         switch ([[UIDevice currentDevice] orientation]) {
@@ -51,10 +61,6 @@
                 break;
         }
 
-        if ([orientationIn isEqual: @"unlocked"]) {
-            orientationIn = orientation;
-        }
-
         // we send the result prior to the view controller presentation so that the JS side
         // is ready for the unlock call.
         CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK