diff --git a/intern/ghost/intern/GHOST_WindowCocoa.mm b/intern/ghost/intern/GHOST_WindowCocoa.mm
index a97f7621bb093a0120cd69ddc5dd50832979491e..c5fb39fbb639226bc71bab8fa2201da838b77fec 100644
--- a/intern/ghost/intern/GHOST_WindowCocoa.mm
+++ b/intern/ghost/intern/GHOST_WindowCocoa.mm
@@ -481,7 +481,12 @@ void GHOST_WindowCocoa::setTitle(const STR_String& title)
     GHOST_ASSERT(getValid(), "GHOST_WindowCocoa::setTitle(): window invalid")
 	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
 
-	NSString *windowTitle = [[NSString alloc] initWithUTF8String:title];
+	NSString *windowTitle = [[NSString alloc] initWithCString:title encoding:NSASCIIStringEncoding];
+	
+	if (windowTitle == nil) {
+		[pool drain];
+		return;
+	}
 	
 	//Set associated file if applicable
 	if ([windowTitle hasPrefix:@"Blender"])
@@ -530,7 +535,7 @@ void GHOST_WindowCocoa::getTitle(STR_String& title) const
 	NSString *windowTitle = [m_window title];
 
 	if (windowTitle != nil) {
-		title = [windowTitle UTF8String];		
+		title = [windowTitle cStringUsingEncoding:NSASCIIStringEncoding];		
 	}
 	
 	[pool drain];