diff --git a/src/Bkwld/Decoy/Routing/Ancestry.php b/src/Bkwld/Decoy/Routing/Ancestry.php
index <HASH>..<HASH> 100644
--- a/src/Bkwld/Decoy/Routing/Ancestry.php
+++ b/src/Bkwld/Decoy/Routing/Ancestry.php
@@ -115,14 +115,16 @@ class Ancestry {
 	 */
 	public function deduceParentController() {
 		
+		// If one of the many to many xhr requests, get the parent from Input
+		if ($this->parentIsInInput()) {
+			
+			 // Can't use ->get() because it has a different meaning in Request
+			return $this->input->input('parent_controller');
+		
 		// If a child index view, get the controller from the route
-		if ($this->requestIsChild()) {
+		} else if ($this->requestIsChild()) {
 			return $this->wildcard->getParentController();
 		
-		// If one of the many to many xhr requests, get the parent from Input
-		} elseif ($this->parentIsInInput()) {
-			return $this->input->get('parent_controller');
-		
 		// If this controller is a related view of another, the parent is the main request	
 		} else if ($this->isActingAsRelated()) {
 			return $this->wildcard->detectController();
input->get() would not work with JSON requests.  Also, moving the parentInInput check first because it's the most obvious

#<I>