diff --git a/groundStation/src/backend/backend.c b/groundStation/src/backend/backend.c
index 9bcaa7a19556aa185d97d28857d40c21f50c5dbd..8b523c2749b0b9c929242b74af45c912a1cfa3d0 100644
--- a/groundStation/src/backend/backend.c
+++ b/groundStation/src/backend/backend.c
@@ -638,7 +638,7 @@ static void client_recv(int fd) {
 				if (tracker == NULL) {
 					char * dummy = TD_MAGIC " 1.0 2.0 3.0 4.0 5.0 6.0\n";
 					write(fd, dummy, strlen(dummy));
-				}else if (!ucart_vrpn_tracker_getData(tracker, &td)) {
+				}else if (ucart_vrpn_tracker_getData(tracker, &td)) {
 					write(fd, TD_MAGIC " ERROR\n", strlen(TD_MAGIC " ERROR\n"));
 				} else { 
 					/* more than sufficient buffer */
@@ -648,9 +648,9 @@ static void client_recv(int fd) {
 					if (snprintf(buffer,
 							2048,
 							TD_MAGIC " %lf %lf %lf %lf %lf %lf\n",
-							td.x,
-							td.y,
 							td.z,
+							td.y,
+							td.x,
 							td.pitch,
 							td.roll,
 							td.yaw) >= 2048) {
@@ -659,7 +659,7 @@ static void client_recv(int fd) {
 						warnx("Increase format buffer size, output was too long!");
 						write(fd, TD_MAGIC " ERROR\n", strlen(TD_MAGIC " ERROR\n"));
 					}
-
+					write(fd, buffer, strlen(buffer));
 				}
 			}
 
diff --git a/groundStation/src/frontend/frontend_tracker.c b/groundStation/src/frontend/frontend_tracker.c
index b93cc6ce01b16aa9e347abbc2f085ac8b22a61dd..94597b63c66d96c4d5197dd94edf138b38a956a2 100644
--- a/groundStation/src/frontend/frontend_tracker.c
+++ b/groundStation/src/frontend/frontend_tracker.c
@@ -26,7 +26,7 @@ int frontend_track(
 	}
 
 	if (strncmp(line, MAGIC " ERROR", strlen(MAGIC " ERROR")) == 0) {
-		warn("Backend returned an error");
+		warnx("Backend returned an error: %s", strstr(line, "ERROR"));
 		return 1;
 	}