diff --git a/src/domain/kortit/Ohituskortti.java b/src/domain/kortit/Ohituskortti.java
index 8068088bbbae0465dc225990dcd87410e82b8947..e46f4e5c1196ffc9c714b3215a75b199b72f4213 100644
--- a/src/domain/kortit/Ohituskortti.java
+++ b/src/domain/kortit/Ohituskortti.java
@@ -8,7 +8,7 @@ public class Ohituskortti extends Kortti implements Erikoiskortti {
 	}
 
 	public String toString() {
-		return "[" + this.vari + ", �]";
+		return "[" + this.vari + ", �o�]";
 	}
 	
 }
diff --git a/src/domain/pelaajat/Pelaaja.java b/src/domain/pelaajat/Pelaaja.java
index a6202e875b29dbc641463f5eaa25f5058403eb4a..a5aa44fbe67c26a4a1f8b9cb9a043eee5de7e8ab 100644
--- a/src/domain/pelaajat/Pelaaja.java
+++ b/src/domain/pelaajat/Pelaaja.java
@@ -11,6 +11,7 @@ import domain.kortit.Ohituskortti;
 import domain.kortit.Peruskortti;
 import domain.kortit.Suunnanvaihtokortti;
 import domain.korttipakat.Nostopakka;
+import domain.kortit.Erikoiskortti;
 
 public abstract class Pelaaja {
 	
@@ -26,6 +27,51 @@ public abstract class Pelaaja {
 		this.kortit.add(k);
 	}
 	
+	//J�rjest�� kortit v�ri ja numero/merkki j�rjestykseen, 0-9-erikoiskortit
+	public void jarjestaKortit() {
+		ArrayList<Kortti> cardholder = new ArrayList<Kortti>();
+		ArrayList<Kortti> otherholder = new ArrayList<Kortti>();
+		Object placeholder = new Object();
+		String[] varivalikoima = {"punainen", "sininen", "keltainen", "vihre�"};
+		for(int k = 0; k<4 ;k++) {
+			for(int i = 0; i<kortit.size(); i++) {
+			try {
+				if ((kortit.get(i).annaVari()).equals(varivalikoima[k])) {
+					otherholder.add(kortit.get(i));
+				}				
+			}catch(NullPointerException e) {} //Jokerin null v�riarvo...
+			}
+			for(int j = 0; j<10 ;j++) {
+				for(int x = 0; x<otherholder.size(); x++) {
+					placeholder = otherholder.get(x);
+					if(placeholder instanceof Peruskortti) {
+						if(((Peruskortti) placeholder).annaNumero()==j) {
+							cardholder.add(otherholder.get(x));
+						}
+					}
+				}
+			}
+			for(int x = 0; x<otherholder.size(); x++) {
+				if(otherholder.get(x) instanceof Erikoiskortti) {
+					cardholder.add(otherholder.get(x));
+				}
+			}
+			otherholder.clear();
+		}
+		for(int i = 0; i<kortit.size() ;i++) {
+			if(kortit.get(i) instanceof Jokerikortti) {
+				cardholder.add(kortit.get(i));
+			}
+		}
+		for(int i = 0; i<kortit.size() ;i++) {
+			if(kortit.get(i) instanceof Nosta4Jokerikortti) {
+				cardholder.add(kortit.get(i));
+			}
+		}
+		this.kortit = cardholder;
+	}
+	
+	
 	public void tulostaKortit() {
 		int i = 0;
 		for (Kortti k : this.kortit) {
diff --git a/src/logiikka/Peli.java b/src/logiikka/Peli.java
index 344e4dadb2398b9860805ca87664305244eb2962..bbec621832815fef1eab301b7dc1138c653e66ab 100644
--- a/src/logiikka/Peli.java
+++ b/src/logiikka/Peli.java
@@ -345,7 +345,6 @@ public class Peli {
 				}
 			} 
 			if (pelaajallaSopivanVarinenKortti) {
-				System.out.println("Et voi k�ytt�� Nosta 4 -korttia, jos sinulla on sopivan v�rinen kortti.");
 				return false;
 			}
 			this.annaPelaaja(seuraavaksiVuorossa).nostaNeljaKorttia(this.nostopakka);
diff --git a/src/ui/Tekstikayttoliittyma.java b/src/ui/Tekstikayttoliittyma.java
index d6da600429a1755bfc0748c76e0d0bfdf387d8cf..eedcb9a75475d7bda2cae2526d1a38a77fe83a10 100644
--- a/src/ui/Tekstikayttoliittyma.java
+++ b/src/ui/Tekstikayttoliittyma.java
@@ -88,6 +88,7 @@ public class Tekstikayttoliittyma {
 				boolean korttiPelattu = false;
 				while (korttiPelattu == false) {
 					System.out.println("Sinulla on k�dess�si kortit:");
+					pelaaja.jarjestaKortit();
 					pelaaja.tulostaKortit();
 					
 					System.out.println("Kirjoita kortin numero pelataksesi kortin tai \"nosta\" nostaaksesi kortin.");