diff --git a/src/input.c b/src/input.c
index dbe641e..a9bd6dc 100644
--- a/src/input.c
+++ b/src/input.c
@@ -236,7 +236,7 @@ static void input_key(int keynum, double value, int abs) {
     }
   }
   // Opens a menu.
-  else if(KEY("menu") && NOHYP()) {
+  else if(KEY("menu")) {
     if(value == KEY_PRESS) menu_small();
   }
 	// Show pilot information.
diff --git a/src/player.c b/src/player.c
index 65399d1..ea19120 100644
--- a/src/player.c
+++ b/src/player.c
@@ -12,6 +12,7 @@
 #include "land.h"
 #include "sound.h"
 #include "economy.h"
+#include "pause.h"
 #include "player.h"
 
 #define XML_GUI_ID    "GUIs" // XML section identifier.
@@ -501,7 +502,7 @@ void player_render(void) {
     }
   }
   // Hyperspace FLASH BANG!!!
-  if(pilot_isFlag(player, PILOT_HYPERSPACE)) {
+  if(pilot_isFlag(player, PILOT_HYPERSPACE) && !paused) {
 		i = (int)player->ptimer - HYPERSPACE_FADEOUT;
 		j = (int)SDL_GetTicks();
 		if(i < j) {
diff --git a/src/space.c b/src/space.c
index 0d61cb0..6657757 100644
--- a/src/space.c
+++ b/src/space.c
@@ -598,7 +598,7 @@ void space_render(double dt) {
 
 	t = SDL_GetTicks();
 	timer = player->ptimer - HYPERSPACE_STARS_BLUR;
-	if(pilot_isFlag(player, PILOT_HYPERSPACE) && (timer < t)) {
+	if(pilot_isFlag(player, PILOT_HYPERSPACE) && !paused && (timer < t)) {
 		// Fancy hyperspace effects.
 		glShadeModel(GL_SMOOTH);
 
diff --git a/src/space.h b/src/space.h
index 96326bd..c84b1c4 100644
--- a/src/space.h
+++ b/src/space.h
@@ -53,6 +53,11 @@ typedef struct Planet_ {
   char* description;  			// Planet description.
   char* bar_description; 		// Spaceport bar description.
   unsigned int services;  	// Offered services.
+
+	// tech[0] stores global tech level (everything that and below) while
+	// tech[1-7] stores the unique tech levels.
+	int tech[8];
+
   glTexture* gfx_space; 		// Graphics in space.
   glTexture* gfx_exterior;	// Graphics in the exterior.
 } Planet;